繁体   English   中英

如何阻止'id'标签自动插入代码中?

[英]How can I stop 'id' tags from being automatically inserted in my code?

我创建了一个局部视图,该局部视图中的元素如下所示(Razor代码):

    <tr>
        <td>
            @Html.TextBoxFor(model => model.OtherReferenceNumber,new { @data_slmgui_name= "otherReferenceNumber", @style = "width: 45%" })

            @Html.ValidationMessageFor(model => model.OtherReferenceNumber)
        </td>
    </tr>

我不想在input标签上使用id。 但是,当我查看页面源代码时,即使我没有添加该元素的id属性也会出现。 有人可以向我解释为什么会出现这种情况,以及如何使它停止出现吗?

以下是实际的HTML输出:

  <tr>
        <td>
            <input data-slmgui-name="otherReferenceNumber" 
                   data-val="true" 
                   data-val-length="OtherReferenceNumber max length is 100" 
                   data-val-length-max="100" 
                   id="OtherReferenceNumber" 
                   name="OtherReferenceNumber" 
                   style="width: 45%;" 
                   value="hjghj" 
            type="text">              
        </td>
    </tr>

它们是由Asp.net Mvc自动生成的,摆脱它们可以做到这一点

@Html.TextBoxFor(model => model.OtherReferenceNumber, new {id=""  /*more properties*/})

HtmlHelpers, Html.TextBoxFor()甚至Html.TextBox都将始终附加nameid ,如果您想对其进行更多控制,则可以轻松地使用<input type="text" ...>

就像:

<input type="text" 
       val="@Model.OtherReferenceNumber" 
       data-slmgui-name="otherReferenceNumber" 
       style="width: 45%" />

但是,请记住,没有nameid您将永远不会在Action中获得模型,并且需要浏览FormsCollection对象。

我建议您在承诺“不要使用ID的部分”之前先看一些视频教程...

通过ASP.NET网站,Microsoft要求PluralSight为此提供他们的课程,并且您可以免费使用完整的MVC课程 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM