現在、ページの読み込み時にテキスト ボックスを動的に入力しています。次に、OnClickコマンドを使用して、上記のテキストボックスから情報を取得しています
私の ASPX テーブル
<div class="mi_Container" id="Edit">
<div class="mi_Title">
<asp:Label ID="App_Name_E" runat="server" />
</div>
<hr />
<table class="mi_Inner_Container">
<tr>
<td class="mi_Desc">
Description: <br />
<asp:TextBox ID="Description_E" Rows="6" CssClass="mi_Textarea" TextMode="MultiLine" runat="server" />
</td>
<td class="mi_Center">
Upload Test Script:<br />
</td>
</tr>
<tr>
<td class="mi_Rows">
Application Owner: <br />
<asp:TextBox ID="App_Owner_E" runat="server" />
</td>
<td class="mi_Center">
<div class="mi_Img_Icons">
Migration Status:<br />
<asp:DropDownList ID="CS_E" runat="server" DataSourceID="Migration_Status_Source" DataTextField="Name" DataValueField="ID"></asp:DropDownList>
</div>
<div class="mi_Img_Icons">
Migration Progress:<br />
<asp:DropDownList ID="CP_E" runat="server" DataSourceID="Migration_Progress_Source" DataTextField="Name" DataValueField="ID"></asp:DropDownList>
</div>
</td>
</tr>
<tr>
<td class="mi_Rows">
Technical Service Owner: <br />
<asp:TextBox ID="TSO_E" runat="server" />
</td>
<td class="mi_Center">
Migration Phase: <br />
<asp:DropDownList ID="Migration_Phase_E" runat="server" DataSourceID="Migration_Phase_Source" DataTextField="Name" DataValueField="ID"></asp:DropDownList>
</td>
</tr>
<tr class="mi_Rows">
<td>
Responsible Manager: <br />
<asp:TextBox ID="Responsible_Manager_E" runat="server" />
</td>
<td class="mi_Center">
Next Steps: <br />
<asp:TextBox ID="Next_Steps_E" runat="server" />
</td>
</tr>
<tr class="mi_Rows">
<td>
Signed Off by: <br />
<asp:TextBox ID="Sign_Off_E" runat="server" />
</td>
<td class="mi_Center">
<asp:Button ID="Update" runat="server" Text="Update Application" onclick="Update_Click" />
</td>
</tr>
</table>
私のC#コードビハインド(関連)
protected void Page_Load(object sender, EventArgs e)
{
((Label)Master.FindControl("titleBar")).Text = "More Information";
float ID = float.Parse(Request.QueryString["ID"]);
DataTable tbl = appsql.appSpecific(ID);
App_Name_E.Text = tbl.Rows[0]["App_Name"].ToString();
Description_E.Text = tbl.Rows[0]["Description"].ToString();
App_Owner_E.Text = tbl.Rows[0]["App_Owner"].ToString();
CS_E.SelectedIndex = (Convert.ToInt16(tbl.Rows[0]["Coexistence_Status"].ToString()));
CP_E.SelectedIndex = (Convert.ToInt16(tbl.Rows[0]["Coexistence_Progress"].ToString()));
TSO_E.Text = tbl.Rows[0]["TSO"].ToString();
Migration_Phase_E.SelectedIndex = (Convert.ToInt16(tbl.Rows[0]["Migration_Phase"].ToString())) + 1;
Responsible_Manager_E.Text = tbl.Rows[0]["Responsible_Manager"].ToString();
Next_Steps_E.Text = tbl.Rows[0]["Next_steps"].ToString();
Sign_Off_E.Text = tbl.Rows[0]["Sign_Off"].ToString();
}
protected void Update_Click(object sender, EventArgs e)
{
string DESC = Description_E.Text;
string AO = App_Owner_E.Text;
float CS = float.Parse(CS_E.SelectedValue);
float CP = float.Parse(CP_E.SelectedValue);
string TSO = TSO_E.Text;
float MP = float.Parse(Migration_Phase_E.SelectedValue);
string RM = Responsible_Manager_E.Text;
string NS = Next_Steps_E.Text;
string SO = Sign_Off_E.Text;
using (SqlConnection connection = new SqlConnection(WebConfigurationManager.ConnectionStrings["app_migrationConnectionString"].ConnectionString))
{
SqlCommand cmd = new SqlCommand("UPDATE Apps SET Description = @DESC, App_Owner = @AO, Coexistence_Progress = @CP, Coexistence_Status = @CS, TSO = @TSO, Migration_Phase = @MP, Responsible_Manager = @RM, Next_Steps = @NS, Sign_Off = @SO, Last_Update = @LU Where ID = @ID", connection);
cmd.Parameters.Add("@ID", SqlDbType.Float);
cmd.Parameters["@ID"].Value = float.Parse(Request.QueryString["ID"]);
cmd.Parameters.Add("@DESC", SqlDbType.VarChar, -1);
cmd.Parameters["@DESC"].Value = DESC;
cmd.Parameters.Add("@AO", SqlDbType.VarChar, -1);
cmd.Parameters["@AO"].Value = AO;
cmd.Parameters.Add("@CS", SqlDbType.Float);
cmd.Parameters["@CS"].Value = CS;
cmd.Parameters.Add("@CP", SqlDbType.Float);
cmd.Parameters["@CP"].Value = CP;
cmd.Parameters.Add("@TSO", SqlDbType.VarChar, -1);
cmd.Parameters["TSO"].Value = TSO;
cmd.Parameters.Add("@MP", SqlDbType.VarChar, -1);
cmd.Parameters["@MP"].Value = MP;
cmd.Parameters.Add("@RM", SqlDbType.VarChar, -1);
cmd.Parameters["@RM"].Value = RM;
cmd.Parameters.Add("@NS", SqlDbType.VarChar, -1);
cmd.Parameters["@NS"].Value = NS;
cmd.Parameters.Add("@SO", SqlDbType.VarChar, -1);
cmd.Parameters["@SO"].Value = SO;
cmd.Parameters.Add("@LU", SqlDbType.DateTime);
cmd.Parameters["@LU"].Value = DateTime.Now;
try
{
connection.Open();
cmd.ExecuteNonQuery();
connection.Close();
}
catch (Exception ex)
{
throw ex;
}
}
}
そのため、OnClick を実行すると、最後の更新フィールドが正しくコピーされ、SQL 行が更新されるため、SQL コマンドが正しく実行されます。私の問題は、他のすべての変数が新しい値に設定されていないことです。
私は最近、この 1 つのプロジェクトについて質問を投稿してきましたが、ASP を扱うのはこれが初めてです。
ページが変数を処理する方法と関係があると思います。値を変更するだけでは、値を再度設定することはできません。
ありとあらゆる助けをいただければ幸いです。