从C#中选择选项

时间:2016-10-11 13:07:07

标签: c# asp.net

我试图从带有C#代码的<select id="SelectId" runat="server"> <option value="1">1</option> <option value="2">2</option> </select> 中选择一个选项,此输入的选项是通过AJAX调用创建的,在页面加载后我的选择是这样的:

ListItem li = SelectId.Items.FindByValue("1");

if (li != null)
   li.Selected = true;
else
   Response.Write("mm");

在我的C#代码中,我有以下代码:

success: function (data) {
   var options = "";
   var myData = JSON.parse(data.d);
   for (var i = 0; i < myData.length; i++) {
      var id = myData[i].Id;
      options += '<option value ="' + id + '">';
      options += id;
      options += '</option>';
   }
   $('#SelectId').html(options);    
}

但我总是得到response.write(&#34; mm&#34;),我做错了什么?也许是为了ajax电话?当我执行我的C#代码时,我的选择没有任何选项?

修改

使用手动创建的选项进行测试并且工作正常,因此问题在于如何创建选择选项,所以我该如何解决这个问题?我需要在页面加载时自动执行我的C#代码。

编辑2:

AJAX代码:

Observable:<any>

1 个答案:

答案 0 :(得分:0)

我需要出于个人原因保存所选值,因此我无法使用C#执行此操作,因此我使用JavaScriptsessionStorage,因此我的代码解决了此问题如下:

function saveSelect() {
   $('#SelectId').change(function () {
      var option = $('#SelectId').val();
      localStorage.SelecteOption = option;
   });
}

function loadSelect() {
   var option = localStorage.SelecteOption;

   if (option != null)
       $('#SelectId').val(option).change();
}

我只需在填写选择后调用此函数。

Ajax Call code....

$('#id').html(opciones);
saveSelect();
loadSelect();