テキストボックスからユーザー入力を取得していません
質問
私はいくつかの完全に陳腐なものに私の神経を失い始めている:私はテキストボックスからユーザー入力を取得しない:S
私はこの(ASPXの背後にあるコード)のような何かを
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this._presenter.OnViewInitialized();
}
this._presenter.OnViewLoaded();
txtBox1.Text = "blah";
}
protected void Button1_Click(object sender, EventArgs e)
{
//Do sth with txtBox1.Text but when I read it, it is still the same as when a loaded the page at Page_Load, So if I entered "blahblah" in the txtBox1 via browser the text I get when I debug or run is still "blah"
}
そしてASPX
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="InsertStudent.aspx.cs" Inherits="IzPT.Vb.Views.InsertStudent"
Title="VnosProfesorja" MasterPageFile="~/Shared/DefaultMaster.master" %>
<asp:Content ID="content" ContentPlaceHolderID="DefaultContent" Runat="Server">
<h1>Student</h1>
<p>
<table style="width:100%;">
<tr>
<td style="width: 139px">
Name</td>
<td>
<asp:TextBox ID="txtBox1" runat="server"></asp:TextBox>
</td>
</tr>
</table>
</p>
<p>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Save" />
</p>
</asp:Content>
私もたDetailsViewでこれを実行しようとしましたし、それをリストに結合するが、私は編集モードで値を読んだとき、私は同じ問題を抱えています。
任意のアイデア?
解決
あなたはすべてをPage_Loadに「何とか」へのテキストボックスのTextプロパティを設定しています。 ViewStateはこの時点で既にロードされているので、あなたがしている上書きどのような値ユーザーが入力されます。
あなたが唯一のテキスト値の1時間を設定したい場合は、は、その後、あなたはif (!IsPostBack)
チェックの中に置くことを確認してください。
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this._presenter.OnViewInitialized();
txtBox1.Text = "blah";
}
this._presenter.OnViewLoaded();
}
他のヒント
あなたの問題は、あなたがPage_Loadの中で値を変更しているということです!
Page_Load
Button1_Click
前に実行されます。
移動これをPage_Loadのコード
protected override void OnLoadComplete(EventArgs e)
{
txtBox1.Text = "blah";
}
またはあなたのコードを保護...このような
if (!this.IsPostBack)
{
txtBox1.Text = "blah";
}
をPage_Loadは、あなたのテキストボックスに値をリセットして、ポストバック中に呼び出されています。
に変更if (!this.IsPostBack)
{
txtBox1.Text = "blah";
this._presenter.OnViewInitialized();
}
個人的に私は、プレゼンターからのテキストボックスの値を設定するビューでプロパティを持っているでしょう。 OnViewInitialized()またはOnViewLoaded()内の
所属していません StackOverflow