HTML中的C#属性名称更改效果ID

时间:2017-07-31 15:31:12

标签: javascript c# asp.net-mvc

c#c​​ode:

public class Person{
    public string Name { get; set; }
    public age int { get; set; }
}

生成ID为#Person_Name

的cshtml代码
@Html.DropDownListFor(m => m.Person.Name)

javascript代码:

$('#Person_Name').on("change", function () {
//Do something  
}

如果我将Person类属性名称从Name更改为FullName。下一步是将cshtml代码修改为:

    @Html.DropDownListFor(m => m.Person.FullName)

我知道您可以手动进入并更改Jquery代码,但是如果进行了此更改并且进行更改的人不知道jquery,则会导致错误。有没有办法通过某种形式的通知或记录来防止这种情况发生?而不是仅仅记住需要更改jquery。

1 个答案:

答案 0 :(得分:0)

您可以选择使用:

@Html.IdFor(x => x.Person.FullName)

或者

@Html.NameFor(x => x.Person.FullName)

这确实依赖于在页面中使用少量脚本,但是对于id来说这主要是调用.js资源中的函数,从我的角度来看,无论如何我发现它更适合重用。

除非您选择编译MVC视图,否则您可能仍然无法收到所有问题的警报,如果您打开视图,则可能会收到警告。如何设置项目来编译MVC视图将取决于项目的类型,但快速的谷歌应该帮助那个。