后台代码:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("<script type='text/javascript'>SetSum();</script>");
string dd = Text1.Value;
}
前台代码:
<script language="javascript" type="text/javascript">
function SetSum()
{
document.getElementById('Text1').value="123123";//////给最后计算结果赋值
}
</script>
可是在后台获取Text1值时,为什么一直是空呢?
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("<script type='text/javascript'>SetSum();</script>");
string dd = Text1.Value;
}
前台代码:
<script language="javascript" type="text/javascript">
function SetSum()
{
document.getElementById('Text1').value="123123";//////给最后计算结果赋值
}
</script>
可是在后台获取Text1值时,为什么一直是空呢?
解决方案 »
- 我该怎么找工作?
- 点击checkbox让checkboxlist全选
- IsPostBack的问题
- 一个小小的改动就能搞定,请大大帮我看一下,来看的都有分
- 请教如何将单一静态html文件如index.htm映射到asp.net处理程序?
- 程序老死掉,如何查出这个原因呢?
- 无法打开用户默认数据库 错误:4064
- 哪有《ASP.NET服务器控件高级编程》这本书下载?
- 如何在自建的组件中取得当面的目录?
- 一个SQL语句的问题,在线等.请各位大侠指教!!!!
- 出现:异常详细信息: System.ArgumentException: 项“attachdbfilename”的值无效。是不是路径有问题?怎么改了?
- Visual Studio2010怎么样才能有.Net3.5、2.0的框架?
所以Response.Write("<script type='text/javascript'>SetSum();</script>");
执行完毕后 SetSum没有被执行,自然取不到所谓更改后的值另外建议用RegisterStartupScript,别用response.write输出脚本
那么还是在后台写个方法吧,而无需在调用前台的JS把
<script language="javascript" type="text/javascript">
function SetSum()
{
document.getElementById('Text1').value="123123";//////给最后计算结果赋值
}
</script><asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" OnClientClick="SetSum()"/>
protected void Button1_Click(object sender, EventArgs e)
{
string dd = Text1.Value;
} 这样 不就行了嘛。 你为什么要那么写呢
服务器端控件外加上updatepannel
(或者服务器端的 OnClientClick)
方法2:客服端赋值 服务器取值
前台: <asp:Button ID="Button1" runat="server" Text="取值" OnClick="Button1_Click" />
<input id="Button2" type="button" value="赋值" onclick="SetSum();"/>
<asp:TextBox ID="Text1" runat="server"></asp:TextBox>
<script language="javascript" type="text/javascript">
function SetSum()
{
document.getElementById('Text1').value="123123";//////给最后计算结果赋值
}后台:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("<script type='text/javascript'>SetSum();</script>");
//ClientScript.RegisterStartupScript(this.GetType(), "aa", "SetSum();", true);
string dd = Text1.Text;
Response.Write(dd);
}
刷新页面了 Text1肯定是空的赛
ScriptManager.RegisterStartupScript(this, this.GetType(), "SetSum()", true);
CS是怎样调用js的方法:
http://www.cnblogs.com/insus/articles/1945539.html
或者:
http://www.cnblogs.com/insus/articles/1945582.html
function SetSum()
{
document.getElementById('<%=Text1.ClientID%>').value="123123";//////给最后计算结果赋值
}
<asp:Button ID="Button1" runat="server" Text="取值" OnClientClick="SetSum()" OnClick="Button1_Click" />
function SetSum()
{
//这里是客户端代码
if(true)
{
return true;//执行客户端事件后执行服务器端事件 Button1_Click
}
else
return true;//仅执行客户端事件
}
<asp:Button ID="Button1" runat="server" Text="取值" OnClientClick="SetSum()" OnClick="Button1_Click" />
function SetSum()
{
//这里是客户端代码
if(true)
{
return true;//执行客户端事件后执行服务器端事件 Button1_Click
}
else
return false;//仅执行客户端事件
}