关于一个前后台的传值问题

hl362496158 2010-10-14 03:50:34
我是用aspx做的!对一个label进行操作
首先我用脚本写了这么一段(和问题有关的一部分)

if (cost > (a * b + parseFloat(c))) {
$("#" + lebfu).html("负毛利");
$("#" + lebfu).attr("text","负毛利");
document.getElementById(lebfu).value = "负毛利";
}

前台是这么写的!

然后我在后台写了这么一段

for (int a = 0; a < rpt1.Items.Count; a++)
{
string isfu = ((Label)rpt1.Items[a].FindControl("Isfu")).Text;

if (isfu.Equals("负毛利"))
{
mergerOrder._IsfuMaori = true;
break;
}
else
{
mergerOrder._IsfuMaori = false;
}

}

就是在后台 想得当这个label的值,但是无论前台页面是不是“付毛利”,后台的这个isfu总是为空。

我感觉是不是我前台的时候 没将值放到 label.text里面去。 不是很了解 希望各位帮帮忙啊!谢了

这是前台能够显示有值的页面


http://hi.csdn.net/attachment/201010/14/6687429_1287042450Z5wv.jpg
这是后台的这个label,里面值

帮帮忙解决 谢谢了
...全文
121 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyerwing 2010-10-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 net_lover 的回复:]
label是不会提交到服务器端的,你需要使用隐藏的表单进行

<input name="x" type=hidden value="负毛利">
服务器端Request.Form["x"]得到你修改的值
[/Quote]
支持!
label是不会提交到服务器端的!
JS配合HIDDEN是不错的选择

wuyq11 2010-10-14
  • 打赏
  • 举报
回复
label 使用InnerHtml=""
foreach(RepeaterItem Item
Item.FindControls("")
隐藏域使用HiddenField
personball 2010-10-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 damjmk2 的回复:]

后台获取不到前台的数据...除非你重提提交了表单。。。

在创建控件的时候,前台还没有进行操作,当然为空了
[/Quote]
+1
lz若是想在pageload函数里使用这个值的话,是空值的(不信可以对页面上的控件赋初始值)

例程:


.aspx

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script>
$(function(){
$("#para").text("YYY");
//alert($("#para").val());

})
</script>
</head>
<body>
<form id="form1" runat="server">
<div>

<label id="para" runat="Server">XXX</label>
</div>
</form>
</body>
</html>
<%=LoadJs %>



.cs


public string LoadJs = "";
protected void Page_Load(object sender, EventArgs e)
{
LoadJs = "<script>alert('"+para.InnerHtml+"')</script>";
}









mxdxyn 2010-10-14
  • 打赏
  • 举报
回复
学习了
personball 2010-10-14
  • 打赏
  • 举报
回复
对label赋值

<html>
<head>
<title></title>
<script src="jquery-1.3.2.min.js" ></script>
<script>
$(function(){
$("#label_id").text("XXXXXXX");
})
</script>

</head>
<body>
<label id="label_id" ></label>
</body>
</html>




孟子E章 2010-10-14
  • 打赏
  • 举报
回复
document.getElementById(lebfu).value = "负毛利";
document.forms[0].x.value="负毛利";

<input name="x" type=hidden value="负毛利">
yasire 2010-10-14
  • 打赏
  • 举报
回复
if (cost > (a * b + parseFloat(c))) {
$("#" + lebfu).html("负毛利");
$("#" + lebfu).attr("text","负毛利");
document.getElementById(lebfu).value = "负毛利";
}

这一段是不是应该放到服务器端来执行。
干嘛要在前台?
damjmk2 2010-10-14
  • 打赏
  • 举报
回复
后台获取不到前台的数据...除非你重提提交了表单。。。

在创建控件的时候,前台还没有进行操作,当然为空了
孟子E章 2010-10-14
  • 打赏
  • 举报
回复
label是不会提交到服务器端的,你需要使用隐藏的表单进行

<input name="x" type=hidden value="负毛利">

服务器端Request.Form["x"]得到你修改的值

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧