我正在尝试了解有关 MVC 5 的更多信息,因此我正在为自己编写一个博客站点,以便在我进行时了解更多信息。
我已经为标签设置了一个选择列表,并且希望能够从创建博客条目页面添加新标签,而不必记住在创建新帖子之前设置标签。我正在考虑“添加标签”按钮的行,该按钮显示一个引导模式窗口,用户可以在其中添加新标签。
这是我的控制器操作:
public ViewResult CreateBlogPost()
{
CreateEditBlogViewModel viewModel = new CreateEditBlogViewModel();
viewModel.BlogPost = new Core.BlogPost();
viewModel.BlogPost.ShortBody = "<p>Something short and sweet to describe the post</p>";
viewModel.BlogPost.Body = "<p>Enter something blog worthy here...</p>";
viewModel.Tags = new SelectList(_blogRepo.BlogTags(), "Id", "Name");
viewModel.Categories = new SelectList(_blogRepo.BlogCategories(), "Id", "Name");
return View(viewModel);
}
Run Code Online (Sandbox Code Playgroud)
这是视图中的 HTML:
<div class="row">
<div class="form-group">
@Html.LabelFor(m => m.BlogPost.Tags, new { @class = "col-md-2 control-label" })
<div class="col-md-10">
@Html.ListBoxFor(m => m.SelectedTags, Model.Tags, new { @class = "form-control chosen-select", @data_placeholder …Run Code Online (Sandbox Code Playgroud) asp.net asp.net-mvc twitter-bootstrap jquery-chosen asp.net-mvc-5
我有这个班级模型:
public class Results
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public int GameId { get; set; }
public Games Game { get; set; }
public string Notes { get; set; }
public virtual ICollection<ResultItems> ResultItems { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因,Id字段不会根据模式设置为自动递增:
CREATE TABLE [dbo].[Results]
(
[Id] INT NOT NULL,
[GameId] INT NOT NULL,
[Notes] NVARCHAR (MAX) NULL,
CONSTRAINT [PK_dbo.Results] PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_dbo.Results_dbo.Games_GameId]
FOREIGN KEY ([GameId]) REFERENCES [dbo].[Games] ([Id]) ON DELETE CASCADE
); …Run Code Online (Sandbox Code Playgroud)