gridview的使用
在gridview中插入了模板列,又在模板列中插入了textbox,并且插入了buttonfield列,想在点击buttonfield列的时候,判断textbox是否为空,若为空则进行相应的提示,非空则继续进行其他操作,该怎么做 --------------------编程问答-------------------- 你可以做JS的也可以做后台的判断,这样的例子在坛子里面很多 百度几下全出来了 --------------------编程问答----------------------------------------编程问答-------------------- 我是个菜鸟,js和ajax还太不会用,开始现在急需把这个功能加进去,可不可以直接在点击buttonfield列中的button时判断,就像普通button的onclik事件中,普通的textbox可以判断其是否为空一样 --------------------编程问答--------------------
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
int i = Convert.ToInt32(e.CommandArgument);
Control c = GridView1.Rows[i].FindControl("TextBox2");
if (c != null)
{
Response.Write("<script>alert('" + ((TextBox)c).Text + "');</script>");
}
}
给你的代码就是,按钮列是通过 RowCommand 事件触发的 --------------------编程问答--------------------
你还是贴全吧, 控件CommandArgument属性绑定,GridView的RowCommand方法绑定。
RowCommand当GridView生成事件时激发。 --------------------编程问答-------------------- 建议使用JS来实现,可以避免页面的刷新问题。 --------------------编程问答-------------------- protected void btnOpenClick(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "OpenRow") //如果是OpenRow按纽
{
int RowIndex = Convert.ToInt32(e.CommandArgument);
DataKey keys = bookshowGridView.DataKeys[RowIndex];
string id = keys.Values["bookid"].ToString();
bookmessageTableAdapter adepter1 = new bookmessageTableAdapter();
buycarTableAdapter adepter2 = new buycarTableAdapter();
bookgl.bookmessageDataTable btable = adepter1.GetDataByID(id);
bookgl.bookmessageRow brow = btable[0];
string name = brow.bookname.ToString();
string pri = brow.bookpri.ToString();
string busername = Session["username"].ToString();
Control c = bookshowGridView.Rows[RowIndex].FindControl("goumainum");
if (c==null)
{
Response.Write("<script language='javascript'>alert('请输入购买数量');</script>");
}
else
{
TextBox tb = (TextBox)c;
string num = tb.Text.ToString();
int money = Convert.ToInt32(num) * Convert.ToInt32(pri);
string buymoney = money.ToString();
adepter2.InsertQuery(busername, id, name, num, buymoney);
}
}
}
我的代码是这样的,当textbox里有值的时候可以运行,但是当textbox为空的时候,出现错误,错误信息是“System.FormatException: 输入字符串的格式不正确。”,是我的代码写的不正确吗?
--------------------编程问答-------------------- 学了些js,就用js做了一下,我在gridview中加了一模板列,在模板列中加入了textbox控件,用于输入数量,但是提交时需判断其是否为空,只有不为空的时候才能提交,我用js写了判断,但是一直提示网页上有错误,求各位高手指点,是我哪儿写错了吗?在asp中使用js和在html中有什么不同吗?求指点,谢谢。以下是我的部分代码:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript" >
function Check()
{
var numveri = document.form1.goumainum.value;
if(numveri=="")
{
alert( "购买数量不能为空! ");
document.form1.goumainum.focus();
return alse;
}
else
return ture;
}
</script>
</head>
<body>
<form id="form1" runat="server" onsubmit="Check();">
……
//gridview中的模板列
<asp:TemplateField HeaderText="购买数量" >
<ItemTemplate>
<asp:TextBox ID="goumainum" runat="server" ></asp:TextBox>
</ItemTemplate>
…… --------------------编程问答-------------------- 解决了,但是onclick事件还是触发了 --------------------编程问答-------------------- 其实2楼 已经写得很详细了 你还可以 通过 按钮的 onclientclick 事件 写个js验证 --------------------编程问答-------------------- 写前台脚本比较好,可防止页面刷新的问题。 --------------------编程问答-------------------- 我就是在前台写的,可是onclick事件依旧执行,我找到原因了,就是无论textbox判断的结果怎么样,都不妨碍onclick事件的执行,我就迷茫了 --------------------编程问答-------------------- 我弄明白了,就是判断出textbook为空之后并未阻止onclick事件的执行,不知道为什么
补充:.NET技术 , ASP.NET