boi*_*222 4 asp.net-mvc html-helper razor asp.net-mvc-4
我有一个继承的MVC项目.在视图上,BeginForm标记中没有指定路由(控制器和操作).视图呈现正确,因此我假设它正在选择默认路由.
我的问题是,如果没有指定路线,它是如何知道使用的路线?这里的最佳做法是:您是指定路线还是让它默认?
所以视图是Views/Config/WorkCodes.cshtml,标签是
Html.BeginForm()
Run Code Online (Sandbox Code Playgroud)
它进入控制器ConfigController.cs并调用操作WorkCodes().如果我正在做这个项目,我会写的
Html.BeginForm("WorkCodes", "Config", FormMethod.Post)
Run Code Online (Sandbox Code Playgroud)
MVC如何知道使用哪个控制器和操作而不指定它?
WorkCodes.cshtml
@{
ViewBag.Title = "Work Codes";
}
@using (Html.BeginForm())
{
<div>
<table style="width: 100%;" class="trHoverHighlight">
<tbody>
<tr>
<td>
<br />
<div>
<button id="buttonCreateNew" type="button">Add New</button>
<button id="buttonReturn" type="button">Return</button>
</div>
</td>
</tr>
</tbody>
</table>
</div>
Run Code Online (Sandbox Code Playgroud)
}
ConfigController.cs
public ActionResult WorkCodes()
{
return View(Rep.GetWorkAll(true));
}
Run Code Online (Sandbox Code Playgroud)
这是从另一个视图中调用视图的位置:
@foreach (var itm in (List<string>)ViewBag.ListObjects)
{
<li>
<a href="../Config/@itm">Work Codes</a>
</li>
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
322 次 |
| 最近记录: |