这是我的客户代码:
<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,但它返回null:
protected void Button1_Click(object sender, EventArgs e)
{
string s1= Request.Form["mm"];
string s2= mm.Attributes["src"];
string s3 = mm.Src;
}
我该怎么做?
答案 0 :(得分:4)
你简单不能。在通过javascript进行更改后,您无法在图像的src
后面获取代码。
这是因为即使回发也不会将此信息传回服务器。
解决方法是同时将src
保存到值的隐藏输入控件...相同的数据。
所以在回发后你从那个输入控件中读取了值,因为只有那种类型的控件才会发回它们的值。
以下是您的代码
的示例<asp:HiddenField runat="server" ID="ImgExSrc" />
<script>
document.onclick = function () {
mm.src = "photo1.jpg";
document.getElementById("<%=ImgExSrc.ClientID%>").value = mm.src;
}
</script>
在您背后的代码上,您只需在回帖后阅读ImgExSrc.Value
即可。只有回发后,您才能将值发送到服务器端。