0
ムービー評価Webアプリケーションを作成していますが、オブジェクト参照がオブジェクトのインスタンスに設定されていないというエラーが発生しました。評価ページに戻ったときにそのエラーが表示されても、評価が追加されました。ASP.Netはエラーをスローしますが、データを投稿します
Contoller:
public ActionResult RateMedia(string Item, int Rate)
{
PopMediaDDL();
var userStore = new UserStore<ApplicationUser>(ldb);
var manager = new UserManager<ApplicationUser>(userStore);
var user = manager.FindById(User.Identity.GetUserId());
MediaRating rate = new MediaRating();
rate.Title = ldb.MediaData.First(c => c.MediaName == Item);
rate.Rating = Rate;
rate.RateFor = user;
ldb.MediaRatingData.Add(rate);
ldb.SaveChanges();
return View();
}
モデル:
public class MediaRating
{
[Key]
public int MediaRatingID { get; set; }
public virtual ApplicationUser RateFor { get; set; }
public virtual Media Title { get; set; }
public int Rating { get; set; }
}
ビュー:
@using CollectionCompanion.Extensions
@using CollectionCompanion.Models;
@model CollectionCompanion.Models.UserCollectionItem
<h2>Rate Media!</h2>
<hr />
@using (Html.BeginForm())
{
<div style="width:80%;">
<div id="AddColItem">
@Html.AntiForgeryToken()
@Html.TextBoxFor(m => m.Item, new { @id = "MediaItem",@style= "color:black;", @name = "MediaItem", @class = "form-control" })
</div>
<div id="AddColDD">
<select id="Rate" name="Rate">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</div>
<div id="AddColBTN">
<input type="hidden" name="UserCollection" value="@ViewBag.UserCollectionID" />
<button type="submit" class="btn btn-default btn-info"><span class="glyphicon glyphicon-plus"></span> Add</button>
</div>
</div>
}
@foreach (MediaRating rating in ViewBag.Ratings)
{
<div>
<div style="width:50%;">
@rating.Title.MediaName
</div>
<div style="width:50%">
@rating.Rating
</div>
</div>
}
<script type="text/javascript">
$("#MediaItem").autocomplete({
change: function (event, ui) { },
source: "../../Media/GetMediaResult/",
minLength: 2
}
);
</script>