美好的一天,
我正在创建一个包含MVC 5和Razor视图的ASP.Net站点。我有一个Parent类和一个Child类,因此Parent可以有多个Child。我首先使用EF代码,并在项目的Models文件夹中将我的2个模型与我的数据库上下文配合使用。我为两者创造了脚手架物品。
我所做的是关于父母的详细信息,我有一个子列表,使用_Partial视图。我想要做的是从父母的详细信息,如果您点击“新建儿童”行动链接,将显示“为孩子创建”,其中ParentId已被选中且不可编辑。
实现这一目标的最佳方式是什么?我是否需要将数据传递给控制器或ViewBag?我不知道这种布局/功能的正确用语(Master-Detail视图?)。
我也一直在ASP.net网站上,但找不到我要找的东西。
答案 0 :(得分:2)
您可以使用操作链接将“父ID”传递给“创建”操作。也许是这样的,其中" item"是本地Parent变量的名称:
views\photos\_show.html.erb
`<% if @photo.image? %>
<%= image_tag @photo.image.url(:thumb2) %> #this is the intended photo
<% else %>
<%= image_tag("fallback/default.png") %>
<% end %>`
Photos_controller.rb
`def show
@photo = Photo.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @photo }
end
end`
`views\photos\index.html.erb` for Bootstrap modal
<div class =”..”>
<% if photo.image?
<%# Added Bootstrap data modal attribute %>
<%= link_to (image_tag photo.image.url(:thumb)), '#showModal', 'data-toggle' => 'modal' %>
<div class="modal fade" id="showModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">Showing photo</h4>
</div>
<div class="modal-body">
<%= render 'show' %>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
photo.js
$("#showModal").click(function(){
$("#show").modal();
});
然后,您的“创建”操作可以将其传递到“创建”视图中的表单。