javascript - 在 MVC3 中有条件地填充局部 View 控件

标签 javascript jquery asp.net-mvc-3 partial-views

创建部分 View 以输入一些个人详细信息。我必须包括 2 个下拉列表,1 个用于国家,其他用于州。当我选择国家作为美国时,它想要从数据库中填充所有州名。如果我们选择其他国家,我想要将状态的下拉列表替换为文本框。我怎样才能让它成为可能?

谢谢。

最佳答案

我的建议是使用 jquery ajax 请求根据国家/地区值填充下拉列表选项。 ajax 请求可以指向另一个将根据参数返回下拉列表或文本框的 PartialView...

如果您在实现过程中遇到任何问题,请告诉我,我很乐意为您提供帮助...


Controller 中的 Action :

public ActionResult StateNames(string country)
{
    if(country == "US")
    {
        var model = GetArrayOfUsStates();
        return View(model);
    }
    else
    {
        var model = string[0];
        return View(model);
    }
}

下拉列表的部分 View :

@model string[]

@if(Model.Length == 0)
{
    <input type="text" name="state" />
}
else
{
    <select name="state">
        @foreach(var state in Model)
        {
            <option value="@state">@state</option>
        }
    </select>
}

您的页面结构:

<select id="countryDDL">
   ...
</select>
<div id="stateDDLHolder">
</div>

要下拉的 jQuery 代码:

$.ajax({ 
         url: '/YourController/StateNames/' + $('#countryDDL').val(),
         success: function(data) { $('#stateDDLHolder').html(data); }
});

关于javascript - 在 MVC3 中有条件地填充局部 View 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9376110/

相关文章:

jquery - 滑动页面过渡 like http ://imakewebthings. com/jquery-waypoints

javascript - Django 和 JavaScript fetch() : CORS policy: No 'Access-Control-Allow-Origin' header is present

javascript - jQuery;仅当在某个目录中时才执行目标和触发功能

javascript - 条件语句不响应结果

javascript - 将 JQuery UI 对话框定位在单击的链接附近

asp.net-mvc-3 - MVC 3 仅某些字段的编辑 View

javascript - 混合了我需要为我的 div 分开的 html 样式

javascript - 无法使用 d3.js 剪切多边形

c# - 将服务层与验证层分离

jquery - asp.net mvc 3 razor 文件上传