操作目的是将一条数据库的信息在aspx显示并可以编辑,然后在aspx.cs保存编辑。
file.aspx.cs
public partial class news : sql
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Repeater_news.DataSource = sqls.bind_news(15);
Repeater_news.DataBind();
}
}
public void Button_EDIT_Click(object sender, EventArgs e)
{
TextBox txt = ((TextBox)Repeater_news.FindControl("TextBox_title"));
string value = txt.Text;
//file1.aspx.cs 可以显示,但没有从file1.aspx中传过来值? 使用了Repeater和ItemTemplate
//file2.aspx.cs 没有显示,但有从file2.aspx中传过来值? 没有使用Repeater和ItemTemplate
//如何才能在aspx显示并可以编辑,然后在aspx.cs保存编辑?
}
... file1.aspx
<form id="form2" runat="server">
<asp:Repeater ID="Repeater_news" runat="server">
<ItemTemplate>
<asp:TextBox ID="TextBox_title" runat="server" Text=' <%# Bind("title")%>> </asp:TextBox>
//显示了title="测试编辑后的数据更新"
</ItemTemplate>
</asp:Repeater>
<asp:Button ID="Button_EDIT" runat="server" Text="确定修改" OnClick="Button_EDIT_Click" />
</form> file2.aspx
<form id="form2" runat="server">
<asp:TextBox ID="TextBox_title" runat="server" Text=' <%# Bind("title")%>> </asp:TextBox>
//显示了title="测试编辑后的数据更新"
<asp:Button ID="Button_EDIT" runat="server" Text="确定修改" OnClick="Button_EDIT_Click" />
</form>
file.aspx.cs
public partial class news : sql
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Repeater_news.DataSource = sqls.bind_news(15);
Repeater_news.DataBind();
}
}
public void Button_EDIT_Click(object sender, EventArgs e)
{
TextBox txt = ((TextBox)Repeater_news.FindControl("TextBox_title"));
string value = txt.Text;
//file1.aspx.cs 可以显示,但没有从file1.aspx中传过来值? 使用了Repeater和ItemTemplate
//file2.aspx.cs 没有显示,但有从file2.aspx中传过来值? 没有使用Repeater和ItemTemplate
//如何才能在aspx显示并可以编辑,然后在aspx.cs保存编辑?
}
... file1.aspx
<form id="form2" runat="server">
<asp:Repeater ID="Repeater_news" runat="server">
<ItemTemplate>
<asp:TextBox ID="TextBox_title" runat="server" Text=' <%# Bind("title")%>> </asp:TextBox>
//显示了title="测试编辑后的数据更新"
</ItemTemplate>
</asp:Repeater>
<asp:Button ID="Button_EDIT" runat="server" Text="确定修改" OnClick="Button_EDIT_Click" />
</form> file2.aspx
<form id="form2" runat="server">
<asp:TextBox ID="TextBox_title" runat="server" Text=' <%# Bind("title")%>> </asp:TextBox>
//显示了title="测试编辑后的数据更新"
<asp:Button ID="Button_EDIT" runat="server" Text="确定修改" OnClick="Button_EDIT_Click" />
</form>
解决方案 »
- 请教正则表达式写法
- href问题
- 100高分求:各位开发ASP.NET一般流程是什么呀的?
- 关于网站左侧栏布局问题
- 做一个参数库,有一、二。三级,三级有1000多项,用什么方式列出来比较好维护啊?
- 有没有办法在同一台服务器上同时支持1、1和2。0
- 请问能否在页面中往.js文件里传值 比如像<script src=abc.js?id=1234234&name=meizz></script>
- 引用自定义控件语句中的assembly
- 关于一个把datagrid的一行写入数据库的问题,谢谢了
- 请问如何在一条sql语句里面得到以下数据?
- 请问2.0下的TreeView如何在选择某个结点后不postback?
- 下拉框选择.下方显示问题
{
TextBox txt = ((TextBox)item.FindControl("TextBox_title"));
}
你点Button,想在file2.aspx 打开所有的记录啊<form id="form2" runat="server">
<asp:Repeater ID="Repeater_news" runat="server">
<ItemTemplate>
<asp:TextBox ID="TextBox_title" runat="server" Text=' <%# Bind("title")%>> </asp:TextBox>
//显示了title="测试编辑后的数据更新"
</ItemTemplate>
</asp:Repeater>
<asp:Button ID="Button_EDIT" runat="server" Text="确定修改" OnClick="Button_EDIT_Click" />
</form>
Failed to convert parameter value from a TextBox to a String.
为什么
file1.aspx.cs 可以显示,但没有从file1.aspx中传过来值? 使用了Repeater和ItemTemplate
file2.aspx.cs 没有显示,但有从file2.aspx中传过来值? 没有使用Repeater和ItemTemplate令人琢磨不定的Repeater和ItemTemplate
建议TextBox、Button都放Repeater里面,Button做成ImageButton,放个图很好看
处理起来就很好办了file2.aspx
<form id="form2" runat="server">
<asp:TextBox ID="TextBox_title" runat="server" Text=' <%# Bind("title")%>> </asp:TextBox>
//显示了title="测试编辑后的数据更新"
<asp:Button ID="Button_EDIT" runat="server" Text="确定修改" OnClick="Button_EDIT_Click" />
</form> 如果Button一定要在外面(界面、布局问题),Repeater里那么多(Item)项你怎么确定要在file2.aspx打开什么啊,你的file2.aspx里又才一个TextBox显示,建议Repeater里每项前可以用个radiobutton,Button打开页面传递ID到file2.aspx,file2.aspx里通过ID重新绑定数据!!// 代码没有测试,只提供个方法
public void Button_EDIT_Click(object sender, EventArgs e)
{
foreach (RepeaterItem item in Repeater_news.Items)
{
RadioButton rbtn = ((RadioButton )item.FindControl("TextBox_title"));
if (rbtn.Checked)
{
//.................
//TextBox txt = ((TextBox)item.FindControl("TextBox_title"));
Response.Redirect(.....);
}
break;
}
}
{}
{}
加在哪?
如何书写file.aspx 和 file.aspx.cs? 例题如楼主提问
<form id="form1" runat="server">
<div>
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
<ItemTemplate>
<asp:TextBox ID="tbxDesc" Text='<%# DataBinder.Eval(Container.DataItem,"name") %>' runat="server"></asp:TextBox>
<asp:Button ID="btnSubmit" Text="修改" CommandName="modify" runat="server"></asp:Button>
</ItemTemplate>
</asp:Repeater>
<br/>
</div>
</form>
</body>using System.Data.Odbc;public partial class rtp_textbox : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Repeater1.DataSource = Bind().Tables[0];
Repeater1.DataBind();
}
} private DataSet Bind()
{
string strcn = @"Dsn=ss7server;DataBase=NTP2000;uid=zxt2000;pwd=zxt2000;";
OdbcConnection mycn = new OdbcConnection(strcn);
string sql = "select * from ts_area";
mycn.Open();
OdbcDataAdapter myDa = new OdbcDataAdapter(sql, mycn);
DataSet myDs = new DataSet();
myDa.Fill(myDs, "s");
mycn.Close();
return myDs;
} protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "modify")
{
TextBox tbx = (TextBox)e.Item.FindControl("tbxDesc");
Response.Redirect("file2.aspx?aa=" + tbx.Text);
}
}
}
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "modify")
{
TextBox tbx = (TextBox)e.Item.FindControl("tbxDesc");
Response.Write(tbx.Text);
//Response.Redirect("file2.aspx?aa=" + tbx.Text);
}
}
。
xghtom
TextBox tbx = (TextBox)e.Item.FindControl("tbxDesc"); (Repeater)
cteddy
TextBox txt = ((TextBox)FormView1.FindControl("TextBox_title")); (Formview)
出错?加了.ToString()
xghtom
TextBox tbx = (TextBox)e.Item.FindControl("tbxDesc").ToString(); (Repeater)
cteddy
TextBox txt = ((TextBox)FormView1.FindControl("TextBox_title")).ToString(); (Formview)结果如下,奇怪?
System.Web.UI.WebControls.TextBox //返回了这段文字?为什么使用Repeater,Formview等,就无法返回值,而不是使用Repeater,Formview等,就可以返回值?
file1.aspx
<form id="form2" runat="server">
<asp:Repeater ID="Repeater_news" runat="server">
<ItemTemplate>
<asp:TextBox ID="TextBox_title" runat="server" Text=' <%# Bind("title")%>> </asp:TextBox>
//显示了title="测试编辑后的数据更新,使用了Repeater,Formview等"
</ItemTemplate>
</asp:Repeater>
<asp:Button ID="Button_EDIT" runat="server" Text="确定修改" OnClick="Button_EDIT_Click" />
</form> file2.aspx
<form id="form2" runat="server">
<asp:TextBox ID="TextBox_title" runat="server" Text=' <%# Bind("title")%>> </asp:TextBox>
//显示了title="测试编辑后的数据更新,没有使用Repeater,Formview等"
<asp:Button ID="Button_EDIT" runat="server" Text="确定修改" OnClick="Button_EDIT_Click" />
</form>
file1.aspx
<form id="form2" runat="server">
<asp:Repeater ID="Repeater_news" runat="server">
<ItemTemplate>
<asp:TextBox ID="TextBox_title" runat="server" Text=' <%# Bind("title")%>> </asp:TextBox>
//显示了title="测试编辑后的数据更新,使用了Repeater,Formview等,可以显示但无法获得返回值"
</ItemTemplate>
</asp:Repeater>
<asp:Button ID="Button_EDIT" runat="server" Text="确定修改" OnClick="Button_EDIT_Click" />
</form> file2.aspx
<form id="form2" runat="server">
<asp:TextBox ID="TextBox_title" runat="server" Text=' <%# Bind("title")%>> </asp:TextBox>
//显示了title="测试编辑后的数据更新,没有使用Repeater,Formview等,没有显示但可以获得返回值"
<asp:Button ID="Button_EDIT" runat="server" Text="确定修改" OnClick="Button_EDIT_Click" />
</form>
TextBox txt = ((TextBox)Repeater_news.FindControl("TextBox_title")).Text; //少了.Text
谢谢xghtom的提示,加分!