【问题标题】:How do I get the text value from a <select> in ASP.NET MVC如何从 ASP.NET MVC 中的 <select> 获取文本值
【发布时间】:2018-01-11 23:19:15
【问题描述】:

我正在使用 ASP.NET Core。我目前在form 的视图中使用以下&lt;select&gt; 元素:

&lt;select asp-for="CarTypeId"&gt;&lt;/select&gt;

当我发帖时,我只会得到Model.CarTypeId 的值。 但是我有另一个字段Model.CarType,我想在&lt;select&gt; 中给出所选文本的值。

【问题讨论】:

    标签: c# asp.net .net asp.net-mvc .net-core


    【解决方案1】:

    您可以为此添加另一个模型属性,并在选择事件期间使用 jquery 或使用 formcollection 设置它。

    【讨论】:

    • 查看我对 Munzer 帖子的评论。
    【解决方案2】:

    这不是一个好习惯,只有类型 id 就足够了,并将其用作对汽车类型本身的引用,不应该是您描述的另一个字段,因为这将是多余的。

    无论如何,解决方案是为 CarType 添加一个隐藏字段,并在 cartypeid 更改时更新其值。 像这样的

    $('#CarTypeId').on('change', function(){
    // this will get the text of the selected option
    var theText = $('#CarTypeId').find(":selected").text();
    //Update value of the hidden field  
    $('#CarType').val(theText);
    });
    

    【讨论】:

    • 在正常情况下它会是“坏”的做法。在我自己的情况下,这背后是有原因的。回到问题,使用jQuery 已经是我目前的解决方案了。但我想会有更好的解决方案。
    • 哪个方面更好?
    • 使用隐藏字段通常不是最好的解决方案。我希望我忽略了 ASP.NET Core 中内置的一些功能,因为那将是最好的解决方案。
    猜你喜欢
    • 2011-03-03
    • 2015-10-14
    • 2014-08-03
    • 2023-03-03
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多