使用HTML <input>标签时,使用name和id属性之间有什么区别,特别是我发现它们有时被命名为相同?
我的MVC表单上有两个按钮:
<input name="submit" type="submit" id="submit" value="Save" />
<input name="process" type="submit" id="process" value="Process" />
Run Code Online (Sandbox Code Playgroud)
从我的Controller动作我怎么知道哪一个被按下了?
我在用ASP.Net MVC 4.我在视图上有多个按钮..目前我调用相同的动作方法; 我正在区分使用name属性的单击按钮.
@using (Html.BeginForm("Submit", "SearchDisplay", new { id = Model == null ? Guid.NewGuid().ToString() : Model.SavedSearch }, FormMethod.Post))
{
<div class="leftSideDiv">
<input type="submit" id="btnExport" class="exporttoexcelButton"
name="Command" value="Export to Excel" />
</div>
<div class="pageWrapperForSearchSubmit">
<input type="submit" class="submitButton"
value="Submit" id="btnSubmitChange" />
</div>
}
Run Code Online (Sandbox Code Playgroud)
//行动
[HttpPost]
public ActionResult Submit(SearchCostPage searchModel, string Command)
{
SessionHelper.ProjectCase = searchModel.ProjectCaseNumber;
if (string.Equals(Command, Constants.SearchPage.ExportToExcel))
{
}
}
Run Code Online (Sandbox Code Playgroud)
质询
参考文献:
在Web内容可访问性指南中指出,您应该提供一个"跳过"链接,该链接会(例如)通过导航块并直接跳转到内容中.这对于使用屏幕阅读器可听见地描述页面的受损用户特别有用.
6.2分组和绕过链接WCAG指南
但是,此技术依赖于在锚标记上使用name属性:
<h2><a name="content">Content</a></h2>
Run Code Online (Sandbox Code Playgroud)
与跳转链接一起:
<a href="#content">Skip to content</a>
Run Code Online (Sandbox Code Playgroud)
问题是,锚标签的"name"属性在HTML5中已经过时.HTML过时的功能
有没有其他方法可以实现这种"跳转到"功能而不使用name属性?
脚注:仍处于草案中的HTML5规范的状态,在这种情况下可能会继续允许name属性 - 尽管它可能仍会生成"警告".它目前被标记为"过时但符合",这意味着你仍然可以使用它 - 但是,我想知道其他方法来执行"跳到",看看有没有办法做到这一点'依赖于过时的属性.