0
我無法獲取頁面提交到我的頁面的值。沒有從頁面獲取變量...提交到數據庫
表單可能有點令人困惑,但基本上在頁面加載時顯示內容......如果用戶在登錄時顯示編輯按鈕,他們可以點擊它將視圖更改爲我可以編輯的表單這一頁。
然後他們點擊保存按鈕,然後將保存按鈕提交到數據庫。
這是我提交的表單。
<asp:Content ID="Content4" ContentPlaceHolderID="Title" Runat="Server">
<asp:MultiView ID="TitleLanguage" runat="server">
<asp:View ID="EnglishT" runat="server"><asp:Label ID="en_title" runat="server"/></asp:View>
<asp:View ID="FrenchT" runat="server"><asp:Label ID="fr_title" runat="server"/></asp:View>
<asp:View ID="EditT" runat="server">
<asp:TextBox ID="Edit_EnglishT" runat="server" />
<asp:TextBox ID="Edit_FrenchT" runat="server" />
</asp:View>
</asp:MultiView>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="PageContent" Runat="Server">
<asp:LoginView runat="server" ID="EditLoginView"><LoggedInTemplate><div id="logged">
<asp:Button ID="EditButton" runat="server" OnClick="btnEdit_Click" Text="Edit Page" CssClass="loggedbutton" PostBackUrl="~/page.aspx"/>
<asp:Button ID="SaveButton" runat="server" OnClick="btnSave_Click" visible="false" Text="Save" CssClass="loggedbutton" PostBackUrl="~/page.aspx" UseSubmitBehavior="true" />
</div>
</LoggedInTemplate></asp:LoginView>
<asp:MultiView ID="LanguageView" runat="server">
<asp:View ID="English" runat="server"><asp:Label ID="en_content" runat="server"/></asp:View>
<asp:View ID="French" runat="server"><asp:Label ID="fr_content" runat="server"/></asp:View>
<asp:View ID="Edit" runat="server">
<h1>English Page</h1>
<asp:TextBox ID="Edit_English" runat="server" TextMode="MultiLine" Height="400px" />
<h1>French Page</h1>
<asp:TextBox ID="Edit_French" runat="server" TextMode="MultiLine" Height="400px" />
</asp:View>
</asp:MultiView>
</asp:Content>
這是我用來獲取變量的代碼。
protected void btnSave_Click(object sender, EventArgs e)
{
Button EditButton = (Button)EditLoginView.FindControl("EditButton");
Button SaveButton = (Button)EditLoginView.FindControl("SaveButton");
//update the file in the database
String strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["randolphConnectionString"].ConnectionString;
using(SqlConnection con = new SqlConnection(strConnString))
using(SqlCommand cmd = con.CreateCommand())
{
string strQuery = " UPDATE pages SET en_content = @en_Content, fr_Content = @fr_content, [email protected]_title, [email protected]_title, [email protected]_update WHERE link_title = @link";
cmd.CommandText= strQuery;
cmd.Parameters.Add("@en_title", SqlDbType.VarChar).Value = Edit_EnglishT.Text;
cmd.Parameters.Add("@fr_title", SqlDbType.VarChar).Value = Edit_FrenchT.Text;
cmd.Parameters.Add("@en_content", SqlDbType.VarChar).Value = Edit_English.Text;
cmd.Parameters.Add("@fr_content", SqlDbType.VarChar).Value = Edit_French.Text;
cmd.Parameters.Add("@last_update", SqlDbType.DateTime).Value = DateTime.Now;
cmd.Parameters.Add("@link", SqlDbType.VarChar).Value = linktitle;
cmd.Connection.Open();
cmd.ExecuteNonQuery();
TitleLanguage.ActiveViewIndex = 0;
LanguageView.ActiveViewIndex = 0;
EditButton.Visible = true;
SaveButton.Visible = false;
loadpage();
}
我是新來asp.net所以我試圖用我所知道的關於ASP經典拉......基本上我缺少的是的request.form部分...任何幫助會很好!
你正在收到什麼錯誤? –
沒有錯誤。 btnSave_Click沒有收到任何變量。當我用一個靜態字符串「測試」數據庫更新替換Edit_EnglishT.Text和Parameters部分中的所有其他值時。 – trowse