更新パネルがあるマスターページがあります。私が取り組んでいるアプリケーション用のページの1つに、いくつかのasp:textboxがあるカスタムコントロールがあります。そのコントロールにはグリッドビューもあります。コントロールに更新が反映されない
行のasp:linkbuttonをクリックするとOnRowCommandイベントが発生し、その一部がasp:textboxの "Text"プロパティを設定しています。これは機能します。
私の問題は、更新がUIに反映されていないことです。
のUpdatePanel:
<asp:ScriptManager ID="scriptManager" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="updPanel" runat="server">
<ContentTemplate>
[...more code...]
のLinkButton:
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" CommandArgument='<%# Eval("ID")%>' CommandName="EDIT" runat="server">Edit</asp:LinkButton>
</ItemTemplate>
イベントハンドラ:
protected void RowCommand(object sender, GridViewCommandEventArgs e)
{
switch (e.CommandName)
{
case "EDIT":
//stuff happens here
[ASP:Textbox].Text = [Result of stuff that happened];
^this is what isn't reflected on the page
break;
私はページのライフサイクルに何かが欠けています知っているが、私は」 m空白を描く。
ああ神。私は数ヶ月前に自分自身を通過しました。 'ListView'には組み込みの機能を実装する' CommandName'が予約されています。残念なことに、MS設計チームは、特定のデザインでアクションを引き起こさない場合でも、コマンド名の1つと同等のコマンド名を設定すると、あらゆる種類の例外をスローするのに適していません。実際にMSのソースコードを踏んで、なぜイベントが発生していないのかを知るまで、私が把握していなかったのはかなりの額のスラッパーでした。正直なところ、私は内部的に何かをしてもなぜ彼らがイベントをブロックするのか分かりません。とても混乱するような。 –
うわー!明日までこれを変更することはできませんが、投稿していただきありがとうございます!それがうまくいくなら、私は戻って来て答えを "受け入れる"でしょう。再度、感謝します! – Chuck