2016-05-08 22 views
0

Ich versuche, Text in einer SQL-Datenbank mithilfe eines Textfelds zu aktualisieren. Dies ist für einen Administrator, um die Daten in der Datenbank zu überschreiben. Probleme haben, eine der Variablen zu deklarieren. Der Elementname ist im aktuellen Kontext nicht vorhanden.Aktualisieren von Text in ASP.NET-Textfeld

-Code für itemediting Seite:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="admin_Default" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title>elmtree - Admin</title> 


    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 

<!-- Latest compiled and minified CSS --> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /> 

<!-- Optional theme --> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" /> 

<!-- Latest compiled and minified JavaScript --> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
<link rel="stylesheet" href="../styles/mylist.css" /> 

</head> 
<body> 
    <form id="form1" runat="server"> 

     <img src="images/ELleft.png" style="width:226px; height:52px; margin-top: 3px; margin-left: 17px; text-align: justify; float: none;"/></a></li> 



<div class="container"> 
    <h1> Item Edit </h1> </div> 

     <div class="container"> 

      <div class="form-group"> 

       <label class="col-sm-2 control-label">Item name: </label> 

       <div class="col-md-4"> 
        <asp:TextBox ID="itemnameedit" runat="server" Text="" CssClass="form-control"> 

        </asp:TextBox> 
       </div> 
       <div class="pull-right"> 
        <asp:Button CssClass="btn btn-primary btn-lg" ID="updatebutton" role="button" runat="server" Text="save" OnClick="updatebutton_Click" /> 
       </div> 
      </div> 

     </div> 

     </form> 
    </body> 
    </html> 

-Code für itemediting.aspx.cs:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI.WebControls; 

using System.IO; 
using System.Data; 
using System.Data.SqlClient; 
using System.Web.Configuration; 



public partial class admin_itemediting : System.Web.UI.Page{ 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     int row = 0; 
     if (Request.QueryString["itemID"] != null){ 

      row = int.Parse(Request.QueryString["itemID"]); 
     } 
     else{ 
      Response.Redirect("itemedit.aspx"); 
     } 




     string connectionString = WebConfigurationManager.ConnectionStrings 
      ["ConnectionString"].ConnectionString; 

     SqlConnection myConnection = new SqlConnection(connectionString); 


     myConnection.Open(); 


     string query = "SELECT * FROM reports WHERE [email protected]"; 


     SqlCommand myCommand = new SqlCommand(query, myConnection); 

     myCommand.Parameters.AddWithValue("@rowid", row); 


     SqlDataReader rdr = myCommand.ExecuteReader(); 


     while (rdr.Read()) 
     { 
      string myname = rdr["itemname"].ToString(); 

      itemnametext.Text = myname; 
     } 
    } 
    protected void updatebutton_Click(object sender, EventArgs e){ 

     string connectionString = WebConfigurationManager.ConnectionStrings ["ConnectionString"].ConnectionString; 

     SqlConnection myConnection = new SqlConnection(connectionString); 

     myConnection.Open(); 

    string itemnametextupdate = itemnametext.Text; 

    string query = "UPDATE reports SET itemname = @itemnewname"; 

    } 













    } 

} 

Antwort

0

Nur ID Ihres texbox itemnameedit-itemnametext
aktualisieren ändern: ändern Sie hier auf Match die Codefile und Codefile Klasse. Ich glaube nicht, dass Sie die richtige Referenz haben, so Codefile Klasseadmin_itemediting weiß nichts von Ihrer Kontrolle in der Aspx-Datei.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="itemediting.aspx.cs" Inherits="admin_itemediting" %> 
+0

Ich habe bereits versucht, dies zu tun, und es funktioniert nicht. Es sagt mir, dass 'itemnametext' im aktuellen Kontext nicht existiert. – Cmc9

0

Ihr Textbox Name ist itemnameedit so itemnametext nicht

gefunden
<asp:TextBox ID="itemnametext" runat="server" Text="" CssClass="form-control"></asp:TextBox> 

EDIT: Ihre aspx Seite Standard ist und Sie eine Mitteilung verfassen Code für itemediting.aspx.cs.Post den Code für itemediting .aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="admin_Default" %> 
+0

Ich habe es bereits versucht und es funktioniert nicht. Es sagt mir, dass 'itemnametext' im aktuellen Kontext nicht existiert. – Cmc9