我有一个名为Upload的文件,用于上传图像。然后,其他文件称为该上传文件。问题是我需要知道单击了哪个上传按钮,因为一个按钮需要将图像保存在与其他上传按钮不同的路径文件中。我尝试创建一个会话,但是每次加载页面时都在创建该会话,因此无法正常工作。处理上载的代码在iframe中。当我单击上传按钮时,将显示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";
    }


我将会话添加到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";
    }


因此,如何在另一个页面文件中调用此隐藏字段。这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>");
}


然后在服务器端代码中,检查在querystring中传递的值。

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


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

关于javascript - 如何知道是否在另一页上单击了按钮?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32184907/

10-12 07:36
查看更多