2017-04-14 14 views
0

SQL Serverでデータを追加し、保存する。これは、SQL Serverでの私のテーブルです:

Create table SubTypes 
(
    IDSub int primary key identity(1,1), 
    Offerstype varchar(255) not null, 
    CostOffers varchar(25) not null 
); 

コードasp.netで

<fieldset> 
    <legend>ALL Offers</legend> 
    <asp:Repeater ID="Offers" runat="server" > 
     <HeaderTemplate> 
      <table class="table table-hover"> 
       <tr> 
        <th>ID</th> 
        <th>Offers type</th> 
        <th>Cost</th> 
        <th>Delete</th> 
       </tr> 
     </HeaderTemplate> 
     <ItemTemplate> 
      <tr> 
       <td><%#Eval("IDSub")%></td> 
       <td><%#Eval("Offerstype")%></td><--error--> 
       <td><%#Eval("CostOffers")%></td> 
       <td><%#Eval("delete from SubTypes where [email protected];")%></td> 
      </tr> 
      </table> 
     </ItemTemplate> 
    </asp:Repeater> 
</fieldset> 

C#

SportsCenterEntities db = new SportsCenterEntities(); 

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) { 
     Offers_DataBinding(); 
    } 
} 

public void Offers_DataBinding() 
{ 
    Offers.DataSource = db.SubTypes.ToList(); 
    Offers.DataBind(); 
} 

エラー

Descripti on:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこで発生したのかについては、スタックトレースを参照してください。

例外の詳細:System.Web.HttpException:データバインド:「System.Data.Entity.DynamicProxies.SubType_084D6F49655DAD7C286182B0A82194429DD9DDEC3EA06D3CB3ED078CA68E2371は」名前「サブタイプ」でプロパティが含まれていません。あなたがこれを行うことができます

Image

+0

は 'SportsCenterEntities()' 作成したオブジェクトであります属性付き?データベースから結果を保持するために使用しているようですが、そのオブジェクトに属性を作成していないようです。コードのその部分を表示できますか? –

+0

はい、私はこの属性をどのように作成できると思いますか? –

+0

:​​<%#Eval( "IDSub = IDSubのサブタイトルからの削除")%> '?私は 'Eval(sql command)'を持っているとは思っていません。あなたのitemtemplateは真実ではありません。アイテムテンプレートには ''を入れてはいけません。これは各行で繰り返されるためです。 –

答えて

0

<table class="table table-hover"> 
<asp:Repeater ID="Offers" runat="server" OnItemCommand="Delete"> > 
    <HeaderTemplate>    
      <tr> 
       <th>ID</th> 
       <th>Offers type</th> 
       <th>Cost</th> 
       <th>Delete</th> 
      </tr> 
    </HeaderTemplate> 
    <ItemTemplate> 
     <tr> 
      <td><%#Eval("IDSub")%></td> 
      <td><%#Eval("Offerstype")%></td><--error--> 
      <td><%#Eval("CostOffers")%></td> 
      <td><asp:Button ID="btnDelete" runat="server" IDSub='<%#Eval("IDSub")%>' Text="Delete"/></td> 
     </tr>    
    </ItemTemplate> 
</asp:Repeater> 
</table> 

そして、背後にあるコードでは、行から送信されたイベントをキャッチ:

protected void Delete(Object Sender, RepeaterCommandEventArgs e) 
    { 
     if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
     { 
      Button clickedDeleteButton= (Button)e.Item.FindControl("btnDelete"); 
      int idSub = int.Parse(clickedDeleteButton.Attributes["IDSub"]); 
      // Here Delete codes by id... 
+0

ありがとう、間違い –

+0

それでは、問題はどこかにあります。なぜなら、私たちは 'SubType'をそれ以上持っていないからです。エラー**には 'SubType'という名前のプロパティが含まれていません** .... –

+0

Offerstypeの前の名前は「SubType」です。理解するために名前を変更しました。 –