0

我正在使用 FileTree JQuery 组件将目录选择传递给页面。我正在使用 HTTPGet 传递选定的文件并在 Page_Load 上捕获它(到目前为止,太好了!)。

在此之后,我想对页面和“刷新”控件进行一些更改。

做到这一点的最佳方法是什么?

谢谢!

jQuery函数:

function LoadImages(file) {
    var param = {
        "Action": "LoadImages",
        "file": escape(file)
    };

    $.getJSON("SomePage.aspx", param);
}

代码隐藏 (aspx.cs)

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        if (QueryString.Current.Get(Constants.HTTPGet.Action) == Constants.HTTPGet.LoadImages)
        {
            DoSomethingWithFile(Request["file"]);
            divAnything.Visible= true;
        }
    }
}
4

1 回答 1

0

当页面不是回发时,您的代码正在运行。

尝试将代码段放在检查之外,看看这是否是您的问题。(理想情况下,如果您的代码正在被访问,您可以使用断点进行检查)。

IE

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        //keep this block for future use
    }

    if (QueryString.Current.Get(Constants.HTTPGet.Action) == Constants.HTTPGet.LoadImages)
    {
        divAnything.Visible= true;
    }
}

永远记住,如果您的页面中有一个动作,并且您需要 ASP.NET 引擎来处理它,那么您需要将页面发回。在 javascript 中,您可以强制回发调用表单的提交方法,或者使用具有回发事件的控件。

即在 JavaScript 中。

document.forms["myform"].submit(); 

即在jQuery中。

$('#myForm').submit(); 
于 2012-05-14T15:32:34.127 回答