我有一个以下代码
@using (Ajax.BeginForm(new AjaxOptions { UpdateTargetId = "update_panel", Url = "/Part/SearchPart" }))
{
<input type="text" placeholder="Search Parts"/>
<input type="submit" value="Search"/>
}
它输出以下HTML
<form action="/Part" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#update_panel" data-ajax-url="/Part/SearchPart" id="form0" method="post">
<input type="text" placeholder="Search Parts"/>
<input type="submit" value="Search"/>
</form>
我希望输出的HTML有,form>标签有class="pull-right"。我怎样才能做到这一点?
您可以使用其中一个重载来指定html属性::
@using (Ajax.BeginForm(null, null, new AjaxOptions { UpdateTargetId = "update_panel", Url = "/Part/SearchPart" }, new { @class = "pull-right" }))
{
<input type="text" placeholder="Search Parts"/>
<input type="submit" value="Search"/>
}
此外,我强烈建议您依赖表单的url,而不是在AjaxOptions
中对其进行硬编码,因为当您在虚拟目录中部署应用程序时,硬编码的/Part/SearchPart
url可能无法工作。更不用说你是否在Global.asax中更改了路线模式。所以:
@using (Ajax.BeginForm("SearchPart", "Part", null, new AjaxOptions { UpdateTargetId = "update_panel" }, new { @class = "pull-right" }))
{
<input type="text" placeholder="Search Parts"/>
<input type="submit" value="Search"/>
}
您必须将操作和控制放在表单中进行引用。
这是一个例子:
@using (Ajax.BeginForm("LogOn","Account", new AjaxOptions { UpdateTargetId = "update_panel", Url = "/Part/SearchPart" }, new { @class ="pull-right"}))
{
<input type="text" placeholder="Search Parts"/>
<input type="submit" value="Search"/>
}