@Html.ActionLink("Edit", "EditArticle", new { ArticleID = article.ArticleID })
私は情報でarticleIDによって記事を検索し、このようにページを編集するために戻る:ASP.NET MVC編集操作ですか?
public ActionResult EditArticle(Guid ArticleID)
{
AddArticleModel AddArticleModel = new AddArticleModel();
AddArticleModel.Categories = entity.TBL_CATEGORIES.Select(a => a);
AddArticleModel.Article = dbo.SelectArticleById(ArticleID);
return View(AddArticleModel);
}
何の問題がここまでありません。
私の編集ページでは、記事の属性(すべての属性ではない)を変更しています。たとえば、title、content、およびupdateddateを変更しています。
@model DunyaYazilim.Models.AddArticleModel
@{
ViewBag.Title = "EditArticle";
Layout = "~/Views/Shared/_LayoutAuthor.cshtml";
}
@using (Html.BeginForm((string)ViewBag.FormAction, "Author"))
{
@Html.ValidationSummary(true, "Makale gönderilirken bir hata oluştu. Lütfen daha sonra tekrar deneyin.")
<div>
<div class="label_header">@Html.Label("Kategori Seçiniz:")</div>
<div>@Html.DropDownList("CategoryID", new SelectList(Model.Categories, "CategoryID", "Name"),Model.Article.TBL_CATEGORIES.Name)</div>
<div class="label_header">@Html.Label("Makale Başlık:")</div>
<div>@Html.TextBoxFor(m => m.Article.Title, new { @class = "my_textbox" })</div>
<div class="label_header">@Html.Label("Makale Açıklama:")</div>
<div>@Html.TextAreaFor(m => m.Article.Description, new { @class = "my_textarea" })</div>
<div class="label_header">@Html.Label("Makale İçerik:")</div>
<div>@Html.TextAreaFor(m => m.Article.ArticleContent, new { @class = "my_textarea" })</div>
<div><input type="submit" value="Gönder" class="my_button" /></div>
</div>
}
そして、私はそれを投稿:
[HttpPost]
public ActionResult EditArticle(AddArticleModel AddArticleModel, String CategoryID)
{
//TODO: update database...
return View(AddArticleModel);
}
しかし、私は情報でarticleIDを持っていけないのでそのままの属性が、私はデータベースを更新傾ける。だからリターンヌル(情報でarticleID、ユーザーIDなど)です。このような投稿後。これの理由は何ですか?
ありがとうございました。
私たちはあなたのhtml/cshtmlのコードを持っていないので、どの値があなたの 'EditArticle'メソッドに返ってくるのか判断するのは難しいでしょう。 –
私はpost.Andを更新し、編集ページを追加しました。 –