1
經過一些幫助和審查的代碼後,我得到了這個工作沒有任何錯誤。但是,當我按下按鈕什麼都沒有發生時,文本框不會更新。迴應DataList中的按鈕事件
我也是如何訪問DataList中的數據,以便我可以在「DataList1_ItemCommand」函數中操作它。
<p>
<asp:TextBox ID="NameTextBox" runat="server" CssClass="textEntry"
TextMode="SingleLine" Rows="0" Height="20px" Width="250px" Enabled="False"></asp:TextBox>
<asp:DataList
ID="DataList1"
runat="server"
RepeatColumns="1" CellPadding="4" ForeColor="#333333"
GridLines="Both" Height="132px" Width="427px">
<HeaderTemplate>
Data
</HeaderTemplate>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "ref") %>
<%# DataBinder.Eval(Container.DataItem, "name") %>
<%# DataBinder.Eval(Container.DataItem, "city") %>
<%# DataBinder.Eval(Container.DataItem, "ip") %>
<%# DataBinder.Eval(Container.DataItem, "timestamp") %>
<asp:Button ID="manage" runat="server" CommandName="manageWiki" Text="Granska" Visible="True" />
</ItemTemplate>
<AlternatingItemStyle BackColor="White" ForeColor="#284775" />
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<HeaderStyle Font-Bold="true" Font-Names="Arial" BackColor="#5D7B9D"
ForeColor="White" />
<ItemStyle Font-Names="Arial" Font-Size="Small" BackColor="#F7F6F3"
ForeColor="#333333" />
<SelectedItemStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
</asp:DataList>
</p>
而後面的代碼:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//getSuggestions fill the DataList with data
getSuggestions("SELECT [ref], [city], [name], [timestamp], [ip] FROM [table1] ORDER BY timestamp");
}
}
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "manageWiki")
{
//Just update the TextBox
NameTextBox.Text = "ref that is inside the Datalist1";
}
}
好吧我想通了你的意思是」如果你修改了通過客戶端腳本提供的數據併發布回來並且與ViewState期望的內容不匹配,通常會發生這種錯誤「作品。我將編輯上面的代碼。 – Mikael 2010-08-10 23:27:42
@Mikael所以你的問題解決了嗎?如果這個答案幫助你不要忘記把它設置爲接受的答案,或者甚至給它一個投票:) – Kelsey 2010-08-11 02:06:58
它部分解決了,但我意識到我問的問題是錯誤的,所以我更新了它,也許我應該已經開始一個新的問題? – Mikael 2010-08-11 07:38:17