0

我在 ASP.NET 中创建了一个生成 DLL 的服务器控件,我们可以将它用于我们需要的任何其他应用程序。这很有帮助。

现在我想在 PHP 和 ASP.NET MVC 3 中创建服务器控制类型的应用程序。你能提供一些 PHP 和 ASP.NET MVC 3 的示例应用程序或示例,以便我能够完成我的任务吗?

4

1 回答 1

1

Dai 将 ASP.NET WebForms 控件转换为任何其他控件的简单规则:

  1. 从您的控件中提取“模型”(即将所有可能的输入变量封装到单个对象中)
  2. 分析此模型对象中的变化如何导致渲染输出 (HTML) 发生变化。
  3. 在所需的框架中重新实现所述渲染的输出生成逻辑。

如果我在 WebForms 中有这个:

public class WhateverControl : Control {
    public String SomeParameter { get; set; }
    public override void Render(HtmlTextWriter wtr) {
        wtr.WriteLine("<p>" + SomeParameter + "</p>");
    }
}

在 PHP 中,像这样:

class Model {
    // control parameters go here, e.g. visiblity, data to be displayed, form fields, etc
   public $someParameter;
}

public function renderWhatever(Model $model) {
    echo "<p>" . $model->someParameter . "</p>";
}

在 ASP.NET MVC(使用 Helpers)中,如下所示:

public class Model {
    public String SomeParameter { get; set; }
}

public static MvcHtmlString Whatever(this HtmlHelper html, Model model) {
    return MvcHtmlString.Create("<p>" + model.SomeParameter + "</p>");
}

<%= html.Whatever( new Model() { SomeParameter = "arse" } ) %>
于 2012-09-14T19:20:22.087 回答