實現目的為:使用repeater顯示DB中的資料,其中一個欄位有值不允許修改,如無值則可直接寫入,全部寫入后,點擊保存即可
前臺代碼:
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table id="mytable" cellspacing="0">
<tr class="header">
<%--<td align="center" class="style1">
<asp:Label ID="Label1" runat="server" Text="操作"></asp:Label>
</td>--%>
<td>
<asp:Label ID="Label12" runat="server" Text="電腦編號"></asp:Label>
</td>
<td>
<asp:Label ID="Label2" runat="server" Text="部門代碼"></asp:Label>
</td>
<td>
<asp:Label ID="Label3" runat="server" Text="員工姓名"></asp:Label>
</td>
<td>
<asp:Label ID="Label4" runat="server" Text="員工工號"></asp:Label>
</td>
<td>
<asp:Label ID="Label5" runat="server" Text="設備名稱"></asp:Label>
</td>
<td>
<asp:Label ID="Label1" runat="server" Text="備註"></asp:Label>
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<%--<td align="center" class="style1">
<asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl='<%#"updaterepaire.aspx?register="+ DataBinder.Eval(Container.DataItem,"idcard") %>' >更新</asp:LinkButton>
</td>--%>
<td>
<asp:Label ID="lblbianhao" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem,"bianhao") %>'></asp:Label>
</td>
<td>
<asp:Label ID="lbluser" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem,"daima") %>'></asp:Label>
</td>
<td>
<asp:Label ID="lblname" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem,"name") %>'></asp:Label>
</td>
<td>
<asp:Label ID="lblphoneno" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem,"gonghao") %>'></asp:Label>
</td>
<td>
<asp:Label ID="lblcomputerno" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem,"mingcheng") %>'></asp:Label>
</td>
<td>
<asp:TextBox ID="txtbeizhu" runat="server" TextMode="MultiLine"
Text='<%# DataBinder.Eval(Container.DataItem,"beizhu") %>' Enabled='<%# String.IsNullOrEmpty(Convert.ToString(DataBinder.Eval(Container.DataItem,"beizhu")))?true:false%>'></asp:TextBox>
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr class="alt">
<%--<td align="center" class="style1">
<asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl='<%#"updaterepaire.aspx?register="+ DataBinder.Eval(Container.DataItem,"idcard") %>' >更新</asp:LinkButton>
</td>--%>
<td>
<asp:Label ID="lblbianhao" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem,"bianhao") %>'></asp:Label>
</td>
<td>
<asp:Label ID="lbluser" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem,"daima") %>'></asp:Label>
</td>
<td>
<asp:Label ID="lblname" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem,"name") %>'></asp:Label>
</td>
<td>
<asp:Label ID="lblphoneno" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem,"gonghao") %>'></asp:Label>
</td>
<td>
<asp:Label ID="lblcomputerno" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem,"mingcheng") %>'></asp:Label>
</td>
<td>
<asp:TextBox ID="txtbeizhu" runat="server" TextMode="MultiLine"
Text='<%# DataBinder.Eval(Container.DataItem,"beizhu") %>' Enabled='<%# String.IsNullOrEmpty(Convert.ToString(DataBinder.Eval(Container.DataItem,"beizhu")))?true:false%>'></asp:TextBox>
</td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
后臺代碼:
//绑定
public void bind()
{
string strgonghao = txtbianhao.Text.Trim();
string sqlcx = "select * from xinxi where gonghao='" + strgonghao + "'ORDER BY LEN(beizhu) ";
DataTable dscx = DBHelper.GetDataSet(sqlcx, connectstring);
this.Repeater1.DataSource = dscx;
this.Repeater1.DataBind();
}
protected void btnupdate_Click(object sender, EventArgs e)
{
for (int i = 0; i < Repeater1.Items.Count; i++)
{
Label lblbianhaokongjian = Repeater1.Items[i].FindControl("lblbianhao") as Label;
TextBox txtbeizhukongjian = Repeater1.Items[i].FindControl("txtbeizhu") as TextBox;
string strbianhao = lblbianhaokongjian.Text.Trim();
string strBeizhu = txtbeizhukongjian.Text.Trim();
EncodeRobert edControl = new EncodeRobert();//创建一个简繁转换对象
strBeizhu = edControl.SCTCConvert(ConvertType.Simplified, ConvertType.Traditional, strBeizhu);//进行简繁转换
if (txtbeizhukongjian.Enabled = true)
{
if (!string.IsNullOrEmpty(strBeizhu))
{
string sqlstr = "update xinxi set beizhu='" + strBeizhu + "',upuser='" + user_Name + "',uptime=getdate() where bianhao='" + strbianhao + "'";
DBHelper.ExecuteCommand(sqlstr, connectstring);
}
}
}
bind();
}
重要代碼:
<td>
<asp:TextBox ID="txtbeizhu" runat="server" TextMode="MultiLine"
Text='<%# DataBinder.Eval(Container.DataItem,"beizhu") %>' Enabled='<%# String.IsNullOrEmpty(Convert.ToString(DataBinder.Eval(Container.DataItem,"beizhu")))?true:false%>'></asp:TextBox>
</td>