我在这里发布代码,
ASP:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<script type="text/javascript">
function ShowHideBox() {
boxdl.style.display = 'none';
}
</script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
First Value:<asp:TextBox ID="first" runat="server" ></asp:TextBox><br />
Second Value:<asp:TextBox ID="second" runat="server" ></asp:TextBox><br />
Calculation:<asp:TextBox ID="calc" runat="server" ></asp:TextBox><br />
<asp:Button ID="Calculate" runat="server" Text="Calculate"
onclick="Calculate_Click" />
<div onclick="ShowHideBox();" style="display:block;height:10px;width:100px;background-color:#258000;"></div>
<div style="background-color:#852000;width:100px;height:100px;display:block;border:black 1px solid;" id="boxdl">
</div>
</asp:Content>
C#代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Calculate_Click(object sender, EventArgs e)
{
calc.Text = (int.Parse(first.Text) + int.Parse(second.Text)).ToString();
}
}
当我点击绿色框时,红色框消失,但是当我点击计算按钮时,它计算两个文本框的结果并在第三个文本框中显示结果, 但问题是在回发事件发生后出现红框,为什么??? 有什么解决办法可以防止这个问题吗??? 这只是一个演示。这个东西在我的元素中用了很多次...
最佳答案
这是预期的输出。由于您回发到服务器,JS 和 HTML 控件的状态将不会保留。
一个解决方案是让这些控件成为服务器端,即 runat="server"。
关于c# - 回发后javascript更改清除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17274053/