gpt4 book ai didi

asp.net-mvc-3 - MVC Html.DropDownList 所选值被 QueryString 值覆盖

转载 作者:行者123 更新时间:2023-12-02 05:09:30 25 4
gpt4 key购买 nike

我在 View 中使用下拉列表,如下所示:

@Html.DropDownList("ClientId", Model.AvailableClients, "-- None --")

Model.AvailableClients 是一个 IEnumerable 项,其 Selected 属性设置为 true。如果在页面请求的查询字符串中包含“ClientId=”(如未设置),MVC 将忽略我选择的项目。我认为这是因为 MVC 试图提供帮助并使用查询字符串自动设置所选项目,但我不希望这样。

如何防止查询字符串值覆盖我项目的选定值?

最佳答案

如果您为 DropDownList 指定的名称已经是模型中某个元素的名称,则 DropDownList 将自动使用模型值覆盖所选值。如果让 ClientId 确定所选值不是一个选项,那么我知道的唯一解决方案是使用模型中未包含的名称重命名 DropDownList。

@Html.HiddenFor(m => m.ClientId)
@Html.DropDownList("ClientIdNewName", Model.AvailableClients, "-- None --", new { onchange = "ClientId.value = this.value"})

这将保留 ClientId 中的值而不使其成为默认选择值。

关于asp.net-mvc-3 - MVC Html.DropDownList 所选值被 QueryString 值覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7000453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com