2012-08-02 75 views
0

我在使用JQuery的ASP.NET页面上发现了一些困难。特别是我有两个主要问题。我需要使用JQuery来更改LabelDropDownList的值,然后我必须从后面的代码中读取这些值,但是当我这样做时,我会找到原始值。在客户端进行的更改将被忽略。如何从JQuery设置的值后面读取代码?

如何在服务器端读取正确的值?

+0

页面上的所有服务器端代码(您的代码隐藏)在响应发送到浏览器之前在服务器上执行。为了响应客户端的变化,为了做一些服务器端的事情,你需要向Web服务器发出另一个请求,通常是使用传统的表单元素提交或使用Ajax。 – nnnnnn 2012-08-02 07:51:58

+0

@nnnnnn我实际上并不需要对客户端更改进行异步响应。我需要的是将所有更改发回服务器端... – davioooh 2012-08-02 08:00:37

回答

0

不是使用标签和下拉列表来设置值,而是使用Hiddenfield设置值,然后在代码后面使用HiddenField.Value获取该值。在大多数情况下,可以看到Label和DropdownLists值在Javascript代码设置不能在代码中检索的背后,却HiddenField值可以是retrieved.So尝试使用HiddenField ...

在Javascript中: -

<script> 
$("#HiddenField1").Val("Your Value"); 
</script> 

在代码隐藏: -

string value=HiddenField1.Value; 
+0

谢谢。好主意! – davioooh 2012-08-02 09:43:01

0
$("#mydropdownlist").val("thevalue"); 

只是确保选项标记中的值与val方法中的值匹配。

如果索引工作,就可以使用.attr()直接设置选择指数:

$("#mydropdownlist").attr('selectedIndex', 0); 

这将其设置为在droplist的第一个值。

试试这个:使用Ajax请求更改服务器结果。当更改下拉选择。

$(function() { 

    $('#type').bind('change', function(ev) { 

    var value = $(this).val(); 

    $.ajax({ 
     ... 
     data: {valueType: value, html: encodeURIComponent($("#addhtml").html())}, 
     ... 
    }); 

    }); 


}); 
相关问题