如何从静态Web方法获取访问权限下拉控件

时间:2014-04-29 15:37:10

标签: c# javascript asp.net

我试图从静态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>

3 个答案:

答案 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;

        }
    });
相关问题