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

本文关键字:另一个 何知道 按钮 是否 | 更新日期: 2023-09-27 18:09:27

我有一个名为Upload的文件,用于上传图像。其他文件然后调用这个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"; 
    }

那么如何在另一个页面文件中调用这个隐藏字段呢?这两个文件没有连接,那么如何传递隐藏字段的值呢?

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

为iframe的URL添加一些内容,但每个按钮的URL都不同…

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
}

对另一个按钮执行相同的操作,但在querystring中传递不同的值。

如果你只是想传递点击按钮的值从一个页面到另一个,也许你可以尝试使用sessionStorage在你的ShowUploadImage()方法。在该方法中设置一个值,并在另一个页面中检索相同的值

像这样的

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>");
    sessionStorage.setItem("action", "Upload");
}

然后在另一页写在javascript

中需要获取的地方
sessionStorage.getItem("action");
相关文章: