javascript如何向后台c#传值

ht87114 2009-04-10 10:37:19
我在gridview里面写了个双击事件
protected void girdViewBale_RowDataBound(object sender, GridViewRowEventArgs e)
{

if (e.Row.RowType == DataControlRowType.DataRow)
{
//鼠标移动到每项时颜色交替效果
e.Row.Attributes.Add("OnMouseOut", "this.style.backgroundColor='White';this.style.color='black'");
e.Row.Attributes.Add("OnMouseOver", "this.style.backgroundColor='#6699FF';this.style.color='blue'");

string baleId =girdViewBale.DataKeys[e.Row.RowIndex].Values[0].ToString();

e.Row.Attributes.Add("ondblclick", "sell2(" + baleId + ");");

}
}
我希望在调用sell2得时候把baleID,就是选中行得id传过去,然后在前台对
<input type="hidden" name="hfDetails" runat="server" value=""/>进行赋值
<script language="javascript">
function sell2(aa)
{
alert(aa);
document.getElementsByName("hfDetails").value=aa;
}
</script>
在后台通过
string baleId1="";
if (hidValue1.Value != null || hidValue1.Value != "")
{
baleId1 = hidValue1.Value;
}
进行取值后,发现值无法取到,请教高手,如何才能取到值
...全文
744 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
ht87114 2009-04-10
  • 打赏
  • 举报
回复
不过,这不属于这个问题得范围了,其实我也不想弄什么这个div,哎....
ht87114 2009-04-10
  • 打赏
  • 举报
回复
不过,这不属于这个问题得范围了,其实我也不想弄什么这个div,哎....
zzxap 2009-04-10
  • 打赏
  • 举报
回复
前台用js给一个隐藏控件赋值

后台读取这个控件的值
ht87114 2009-04-10
  • 打赏
  • 举报
回复
恩,16楼这样的确是可以取到值了,不过有个小问题,我那个...我双击gridview后,显示详细,是一个隐藏的div,双击后显示那个div,这样页面刷新后,就是初始页面了,详细得那个页面会跳一下,然后显示初始页面
sayoath 2009-04-10
  • 打赏
  • 举报
回复
a2349 2009-04-10
  • 打赏
  • 举报
回复
双击事件后,刷新下页面。

e.Row.Attributes.Add("ondblclick", "sell2(" + baleId + ");window.location.href=document.URL;");
ht87114 2009-04-10
  • 打赏
  • 举报
回复
那因该放哪里哦,的确运行断点,并不会进入那个方法,该如何调用呢
a2349 2009-04-10
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 ht87114 的回复:]
这段代码写在一个方法中的,那个方法我放page_load里了,请大家原谅我,我实在不知道放哪里...
[/Quote]

不能放这事件中的,因为你双击事件后,该页面没产生回发什么的,不会再运行page_load事件。。。

不信,你调试看看。。。
ht87114 2009-04-10
  • 打赏
  • 举报
回复
public void BaleDetailsBind() {
string baleId1="";
if (hidValue1.Value != null || hidValue1.Value != "")
{
baleId1 = hidValue1.Value;
}
string strSql = "SELECT A.*,B.BaleT_Title FROM CA_Bale AS A INNER JOIN CA_BaleType AS B ON A.Bale_Uid=B.BaleT_Uid WHERE A.Bale_Uid='" + baleId1 + "'";
ds = DbHelperSQL.Query(strSql);
if (ds.Tables[0].Rows.Count > 0)
{
TB_Uid.Text = ds.Tables[0].Rows[0]["Bale_Uid"].ToString();
}
}

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BaleDetailsBind();
}
}
ht87114 2009-04-10
  • 打赏
  • 举报
回复
这段代码写在一个方法中的,那个方法我放page_load里了,请大家原谅我,我实在不知道放哪里...
a2349 2009-04-10
  • 打赏
  • 举报
回复
在后台通过
string baleId1="";
if (hidValue1.Value != null || hidValue1.Value != "")
{
baleId1 = hidValue1.Value;
}

这段代码写在哪个事件中?
a2349 2009-04-10
  • 打赏
  • 举报
回复
在后台通过
string baleId1="";
if (hidValue1.Value != null || hidValue1.Value != "")
{
baleId1 = hidValue1.Value;
}


这段代码写在哪里的?
ht87114 2009-04-10
  • 打赏
  • 举报
回复
2楼得试了下,4楼得也试了下,还是没取到值啊
我用2楼得方法,在前台写了个setCookies,然后在后台写了个getCookies,可是似乎还是没取到值
soief 2009-04-10
  • 打赏
  • 举报
回复
1.直接跳转URL地址加?参数名=参数值
2.Cookie间接传
3.ajax异步操作
yongyinmg 2009-04-10
  • 打赏
  • 举报
回复
在后台通过
string baleId1="";
if (hidValue1.Value != null || hidValue1.Value != "")
{
baleId1 = hidValue1.Value;
}
这段代码是哪个方法的(哪个控件的什么方法)?
function sell2(aa)
{
alert(aa);
document.getElementsByName("hfDetails").value=aa;
}
这里的alert里面有没有值呢?
ht87114 2009-04-10
  • 打赏
  • 举报
回复
2楼谢谢,我去试下你得方法
namhyuk 2009-04-10
  • 打赏
  • 举报
回复
我也觉得hidden field更合适一些。
baobei7758 2009-04-10
  • 打赏
  • 举报
回复
baleId1 = Request["hfDetails"];
ws_hgo 2009-04-10
  • 打赏
  • 举报
回复
你复制给Hidden
然后后台获取该值
cppfaq 2009-04-10
  • 打赏
  • 举报
回复
.net端


private void setCookie(string name,string value)
{
System.Web.HttpCookie cookie = new HttpCookie(name, System.Web.HttpUtility.UrlEncode(value));
cookie.Expires = System.DateTime.Now.AddDays(30);
cookie.Path = "/";
System.Web.HttpContext.Current.Response.AppendCookie(cookie);
}

private string getCookie(string name)
{
if (Request.Cookies[name] != null)
{
return System.Web.HttpUtility.UrlDecode(Request.Cookies[name].Value);
}
else
{
return "";
}
}





Javascript端

function setCookie(name,value)
{
var Days = 30;
var expTime = new Date();
expTime.setTime(expTime.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ encodeURI(value) + ";expires=" + expTime.toGMTString()+";path=/";
}

function getCookie(name)
{
var arrCookies = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arrCookies != null) return decodeURI(arrCookies[2]); return null;

}
加载更多回复(4)

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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