如何知道按钮是否已被另一个页面点击?

时间:2015-08-24 14:32:00

标签: javascript c# jquery asp.net session

我有一个名为Upload的文件,用于上传图片。然后其他文件调用此上载文件。问题是我需要知道单击了哪个上传按钮,因为一个按钮需要将图像保存在与其他上传按钮不同的路径文件中。我尝试创建一个会话,但每次加载页面时都会创建会话,这样就无法工作。处理上传的代码位于iframe中。当我点击上传按钮时,会出现iframe,可以选择从您的计算机中选择一个文件并上传。我需要将ShowUploadImage()函数中的值传递给iframe,以便我知道单击了哪个上传按钮。

这是上传按钮背后的代码:

 function ShowUploadImage() {
        $('#dvAddEditImage').fadeIn(300);
        $("#dvAddImage").html("<img src=\"images/loading.gif\" alt=\"Loading...\" title=\"Loading...\" />");
        $("#dvAddImage").fadeIn(300);
        $("#dvAddImage").html("<iframe id=\"iframeUpload\" src='utilities/UploadPOD.aspx'></iframe>");
        Session["Session"] = "Upload";
    }

我将Session添加到Page_Load。但是现在会话每次创建都不是我需要的。

protected void Page_Load(object sender, EventArgs e)
    {
            Session["Session"] = "Upload";
        }

    }

然后在上传文件中我需要检查点击了哪个按钮:

if (fuUpload.HasFile)
            {
                string JobType = Convert.ToString(Session["Session"]);
                Session["Session"] = null;
                if (JobType == "Upload")
                {

                }
                else
                {

                }
           }

使用会话也不是正确的方法吗?如何在不同代码文件之间传递值?

修改

确定添加了隐藏字段:

<asp:HiddenField ID="hfSession" runat="server" Value="Upload" />

并添加到上传按钮:

function ShowUploadImage() {
        $('#dvAddEditImage').fadeIn(300);
        $("#dvAddImage").html("<img src=\"images/loading.gif\" alt=\"Loading...\" title=\"Loading...\" />");
        $("#dvAddImage").fadeIn(300);
        $("#dvAddImage").html("<iframe id=\"iframeUpload\" src='utilities/UploadPOD.aspx'></iframe>");
        document.getElementById('<%= hfSession.ClientID %>').value = "Upload"; 
    }

那么如何在其他页面文件中调用此隐藏字段。这两个文件没有连接,那么隐藏字段的值将如何传递?

1 个答案:

答案 0 :(得分:2)

向iframe的网址添加内容,但为每个按钮添加不同内容...

function ShowUploadImage() {
    $('#dvAddEditImage').fadeIn(300);
    $("#dvAddImage").html("<img src=\"images/loading.gif\" alt=\"Loading...\" title=\"Loading...\" />");
    $("#dvAddImage").fadeIn(300);
    $("#dvAddImage").html("<iframe id=\"iframeUpload\" src='utilities/UploadPOD.aspx?id=upload1'></iframe>");
}

然后在服务器端代码中,检查查询字符串中传递的值...

if (Request.QueryString["id"] == "upload1")
{
    // do something here
}

对另一个按钮执行相同操作,但在查询字符串中传递不同的值。