如何在 C#.NET 后面的代码中获取由 JavaScript 更改的 img src

How to get img src that changed by JavaScript in code behind C#.NET

这是我的客户端代码:

<form id="form1" runat="server">
    <div>
        <img id="mm" runat="server" />
    </div>
    <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
    <script>
        document.onclick = function () {
            mm.src = "photo1.jpg";
        }

    </script>
</form>

我尝试在后面的代码中获取 img src,但它 returns null :

protected void Button1_Click(object sender, EventArgs e)
{
    string s1= Request.Form["mm"];
    string s2= mm.Attributes["src"];
    string s3 = mm.Src;
}

我该怎么做?

你简单的不行。在被 javascript.

更改后,您无法获取图像 src 后面的代码

这是因为即使 post 返回此信息也不会传回服务器。

解决方法是将 src 同时保存到值上的隐藏输入控件...相同的数据。

所以在 post 返回后,您从该输入控件读取值,因为只有那种类型的控件会发回它们的值。

这是一个基于您的代码的示例

<asp:HiddenField runat="server" ID="ImgExSrc" />

<script>
    document.onclick = function () {
       mm.src = "photo1.jpg";
       document.getElementById("<%=ImgExSrc.ClientID%>").value = mm.src;
    }
</script>

在后面的代码中,您只需阅读 post 后面的 ImgExSrc.Value。只有返回 post 才能将您的值发送到服务器端。