我可以从自定义帮助方法调用Ajax.BeginFrom吗?
AjaxHelper在自定义帮助器方法中不可用,因此我尝试在调用它时将ViewPage中提供的“Ajax”传递给Helper方法,但是在方法中,BeginForm在传递的“Ajax”参数上不可用。 / p>
答案 0 :(得分:8)
你可以实例化它:
public static class HtmlExtensions
{
public static MvcHtmlString Foo(this HtmlHelper htmlHelper)
{
var ajaxHelper = new AjaxHelper(htmlHelper.ViewContext, htmlHelper.ViewDataContainer);
var form = ajaxHelper.BeginForm();
// ... use the ajaxHelper and htmlHelper
}
}
或者如果您正在AjaxHelper上编写扩展方法:
public static class AjaxExtensions
{
public static MvcHtmlString Foo(this AjaxHelper AjaxHelper)
{
var htmlHelper = new HtmlHelper(AjaxHelper.ViewContext, AjaxHelper.ViewDataContainer);
// ... use the ajaxHelper and htmlHelper
}
}
如果您想将其他扩展方法纳入范围,请不要忘记正确的使用方法:
using System.Web.Mvc;
using System.Web.Mvc.Html;
using System.Web.Mvc.Ajax;