首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >jquery MVC --如何将ASP.Net动作可见的控件与web模型关联起来

jquery MVC --如何将ASP.Net动作可见的控件与web模型关联起来
EN

Stack Overflow用户
提问于 2010-05-27 22:17:10
回答 2查看 653关注 0票数 0

我有一个填充了国家/地区的DropDownList。

当用户选择美国时,我需要显示美国州的下拉列表。如果用户使用CA provinces...else选择CA - show下拉菜单,则显示TextBox。根据选择的国家/地区,我使用jQuery隐藏/显示。这样就可以了。问题出在用户提交时的ActionResult中。

代码语言:javascript
代码运行次数:0
运行
复制
Html.DropDownList("State", ViewData["States"] as SelectList, 
  new { @class = "states", @style = "display:none;" })

Html.DropDownList("State", ViewData["Provinces"] as SelectList, 
  new { @class = "provinces", @style = "display:none;" })

Html.TextBox("State", null, new { @class = "stateFreeForm" })

我用US和CA数据预先加载了2个dropdowns,web模型有一个名为State的字符串成员,但它映射到第一个DropDownList (美国州)。因此,即使在页面上有一个可见的TextBox,listing.State成员也包含从US下拉列表中选取的数据。我使用的是验证,而州是必需的,所以我只希望有一个州(而不是州、省或其他)。是否可以在jQuery中设置和更改web模型和控件之间的映射。

我更喜欢预先加载dropdowns,并通过脚本切换它们,而不是调用ajax来重新加载dropdowns等。

代码语言:javascript
代码运行次数:0
运行
复制
public ActionResult Post(MyApp.Web.Models.Listing listing)
{
}

谢谢..。

EN

回答 2

Stack Overflow用户

发布于 2010-05-27 22:22:38

有很多方法可以做到这一点...但我认为最快的方法是修改您的jQuery验证。如果您使用的是主jQuery验证插件,则可以将其设置为使用依赖验证,因此根据为Country选择的内容,您可以验证不同的字段。

http://docs.jquery.com/Plugins/Validation/Methods/required#dependency-expression

票数 0
EN

Stack Overflow用户

发布于 2010-05-27 22:25:15

只需将第二个选择列表命名为“省份”。不要把你自己、框架和其他人搞混了。

或者真的真的有很好的理由不这么做?

我猜i don't want to fix validation in order to fit business不算数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2921911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档