我试图从静态Web方法访问aspx页面中的下拉列表,但似乎我无法访问,而不是我做错了什么。我想将下拉列表索引值设置为-1。谢谢 这就是我想要做的事情:
[System.Web.Services.WebMethod]
public static void Cancel()
{
myDDL.SelectedIndex = -1;
}
这是javascript调用
<script type="text/javascript" language="javascript">
function Func() {
//alert("hello!")
var result = confirm('WARNING');
if (result) {
//click ok button
PageMethods.Delete();
}
else {
//click cancel button
PageMethods.Cancel();
}
}
</script>
答案 0 :(得分:0)
应该是myDDL.selectedIndex = -1;
答案 1 :(得分:0)
您无法访问webmethod内的控件。在Web服务方法级别,您无法看到有关页面结构的任何信息。 您可以尝试使用此代码清除下拉列表。
而不是调用pagemethod取消,你可以在javascript函数本身内清除它..
var ddl = document.getElementById('myDDL');
ddl.options[ddl.selectedIndex] = 0;
请参阅此link以获取额外阅读..
答案 2 :(得分:0)
我正在尝试从静态Web方法
访问aspx页面中的下拉列表
asp.net页面中的web方法是静态的,这意味着没有页面上下文执行(不完全正确,你可以访问Session),所以你需要从web方法检索结果,然后让你的更新客户端,像(未经测试,对不起):
jQuery.ajax({
url: 'callAJAX.aspx/Cancel',
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
var result = data.d.result;
$('#yourDropDownID')[0].selectedIndex = result;
}
});