使用ASP.NET MVC 5 Razor

时间:2015-10-27 06:57:12

标签: razor asp.net-mvc-5

美好的一天,

我正在创建一个包含MVC 5和Razor视图的ASP.Net站点。我有一个Parent类和一个Child类,因此Parent可以有多个Child。我首先使用EF代码,并在项目的Models文件夹中将我的2个模型与我的数据库上下文配合使用。我为两者创造了脚手架物品。

我所做的是关于父母的详细信息,我有一个子列表,使用_Partial视图。我想要做的是从父母的详细信息,如果您点击“新建儿童”行动链接,将显示“为孩子创建”,其中ParentId已被选中且不可编辑。

实现这一目标的最佳方式是什么?我是否需要将数据传递给控制器​​或ViewBag?我不知道这种布局/功能的正确用语(Master-Detail视图?)。

我也一直在ASP.net网站上,但找不到我要找的东西。

1 个答案:

答案 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">&times;</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();
    });

然后,您的“创建”操作可以将其传递到“创建”视图中的表单。