javascript - 如何知道是否在另一个页面上单击了按钮?

标签 javascript c# jquery asp.net session

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

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
                {

                }
           }

也许使用 session 不是执行此操作的正确方法?如何在不同的代码文件之间传递值?

编辑

确定添加了一个隐藏字段:

<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 的 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>");
}

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

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

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

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

相关文章:

javascript - If 条件检查两个 TextFields 值

javascript - 使用自定义 css 和 javascript 使用 kentico 创建下拉列表

c# - 部署 NetFwTypeLib 以管理 Windows 防火墙

c# - C#中的OAuth身份验证

javascript - jQuery FadeIn/FadeOut 每个元素依次

javascript - 当用户在 div 外部单击时的 JQuery 事件?

javascript - 使用 JS 中的按钮切换菜单 - 但它显示两个菜单

javascript - Firefox 上的输入类型编号 : click on spin button not fire focus event

javascript - onclick 事件不工作 asp.net

javascript - jQuery 自动完成输入时重定向