0

映画の詳細を含むページがあります。たとえば、リンク: http://yyy.yy/Pages/Film/Details.aspx?filmId=5で、ユーザーはこのページにいくつかの映画からのコメントを追加できます。たとえば、filmId = 5 の映画です。しかし、TryUpdateModel() FilmId from form = 0 の後にメソッド InsertComment() の [保存] ボタンをクリックした後、たとえば 5 にする必要があります - どうすればそれを行うことができますか?

これは私のコードです: ' Enabled="False">

                <div class="editor-label">
                    <asp:Label ID="Label1" runat="server" Text="Author"></asp:Label>
                </div>
                <div class="editor-field">
                    <asp:TextBox ID="TextBox1" Text='<%# Bind("Author") %>' runat="server"></asp:TextBox>
                </div>

                <div class="editor-label">
                    <asp:Label ID="Label2" runat="server" Text="Content"></asp:Label>
                </div>
                <div class="editor-field">
                    <asp:TextBox ID="TextBox2" runat="server" TextMode="MultiLine" Width="500" Height="200" Text='<%# Bind("Content") %>'></asp:TextBox>
                </div>
                <br />

                <p class="alignright">
                    <asp:Button ID="Button1" runat="server" Text="Save" CommandName="Insert" />
                </p>
            </fieldset>
        </div>
    </InsertItemTemplate>
</asp:FormView>

namespace Project.Pages.Film
{
    public partial class Index : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        public void InsertComment()
        {
            var item = new Comments();

            TryUpdateModel(item);  //item.FilmId = 0 and it should be = for example 5
            if (ModelState.IsValid)
            {
                .........
            }
        }
    }
}
4

1 に答える 1

0

次のようにします。

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

  int FilmID { get; set; }

  protected void Page_Load(object sender, EventArgs e)
  {
    FilmID = Convert.ToInt32(Request.QueryString["filmId"]);
  }

  public void InsertComment()
  {
    var item = new Comments();
    item.FilmID  = FilmID;
    TryUpdateModel(item);  //item.FilmId = 0 and it should be = for example 5
    if (ModelState.IsValid)
    {
        .........
    }
  }
}
于 2013-06-13T09:48:26.150 に答える