在下拉更改事件后,无法在文本框中保留值

时间:2013-09-06 14:42:02

标签: asp.net-mvc-4

在asp.net mvc中更改textbox选定索引后,我在保留dropdownlist中的值时遇到问题。下面是启动dropdown onchange事件的代码。

@Html.DropDownList("BranchId",null,"Select Branch", new { onchange = "location.href='/User/GetRoles?BranchId='+this.options[this.selectedIndex].value" })

和角色下拉列表绑定值,但我在分支下拉列表上方的文本框中输入的内容会丢失。

请帮帮我。

此致 Azeem

2 个答案:

答案 0 :(得分:0)

这是因为您使用location.href更改了网址。你到底想要达到什么目的?如果您需要加载某些逻辑,您可以将更改事件绑定到可以从服务器加载数据的jQuery函数,然后使用该数据执行某些操作。

$(document).ready(function() {
    $("#BranchId").change(function() {
        $.getJSON(YourUrlThatReturnsValues, {data: yourparameter}, function() {
           // do some processing here.
        });
    });
});

另一种选择是使用Ajax Helpers而不是Html Helpers。您可以使用Html.DropDownList而不是Ajax.DropDownList

答案 1 :(得分:0)

您可以尝试这样的事情:

$(function () {
        $('#BranchId').change(function () {

         var id = $("#BranchId option:selected").val();

         var data = {BranchId: id }; 

            $.get("@Url.Action("User", "GetRoles")", data).done(function(d){
             $('.somediv').val(d.rolename)
           });

    });