2017-05-09 7 views
0

私は部分ビューを読み込もうとするたびにスタイルを持たず、その中にJavaスクリプトを適用しません。アクションにパラメータがある場合、パーシャルビューにスタイルはありませんか? ASP.NET MVC 5

例は次のとおりです。 ユーザーがプロジェクトにコメントできる部分的なビューです。

[HttpGet] 
    [MyAuthorize(Roles = "Project Manager")] 
    public ActionResult Comment() 
    { 
     return PartialView("Comment"); 

    } 

    [HttpPost] 
    [MyAuthorize(Roles = "Project Manager")] 
    public ActionResult Comment(int id,Comment Comment) 
    { 

      var userId = User.Identity.GetUserId(); 
      Comment Com = new Comment 
      { 
       ProjectManagerId = userId, 
       ProjectId= id, 
       CommentDesc = Comment.CommentDesc 
      }; 
      context.Comments.Add(Com); 
      context.SaveChanges(); 
      return RedirectToAction("Main", "Home"); 



    } 

これはアクションが呼び出されるところである:

public class Comment { [Key] public int Id { get; set; } public string CommentDesc { get; set; } public string ProjectManagerId { get; set; } [ForeignKey("ProjectManagerId")] public ApplicationUser ProjectManager { get; set; } public int ProjectId { get; set; } [ForeignKey("ProjectId")] public Project Project { get; set; } } 

この

はアクションです:

この

は私が使用しているモデルである

<a title="Comment" class="CommentProj" href='@Url.Action("Comment", "Project",new { id = item.Project.Id })'> 
    <img src='~/Bikes/Comment.png' width="32px" height="32px" /> 
</a> 

、これは部分図である。

@model Trial.Models.Comment 
@using (Html.BeginForm("Comment", "Project")) 
{ 

<div class="modal hide fade"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
       <h4 class="modal-title">Comment</h4> 
      </div> 
      <div class="modal-body"> 
       <form> 
        @Html.TextAreaFor(m => m.CommentDesc, new { @class = "input-style form-control", @style = "background-color: transparent;", @placeholder = "Comment on the post", @rows = "6" })<br /> 
       </form> 
      </div> 
      <div class="modal-footer"> 
       <input type="submit" class="put-in btn btn-succes" value="Post" /> 
       <button type="button" class="btn btn-primary" data-dismiss="modal">Close</button> 
      </div> 
     </div> 
    </div> 
</div> } 

、ここでは、ロードされたときに、それがどのように見えるかです:Here

+0

一部のビューは、ビューの一部です。完全なビュー要素の中から部分的なビューをレンダリングするために呼び出したいと思うでしょう。例を見てください。 https://www.codeproject.com/Tips/617361/Partial-View-in-ASP-NET-MVC –

+0

あなたのコードを見るのが最も簡単な解決策は、 'comment'部分的なビューをビューと'あなたはそれを返すことができます。こうすることで、すべてのスタイルが適用され、必要なスクリプトタグを含めたり、スクリプトバンドルに定義したりする限り、javascriptは機能します。私はこれが助けて欲しい – Aim

答えて

0

例:

あなたの処置:

[HttpGet] 
    [MyAuthorize(Roles = "Project Manager")] 
    public ActionResult Comment(int id) 
    { 
     var model= new Comment{ 
      ProjectId=id 
     } 
     return PartialView("Comment",model); 

    } 

    [HttpPost] 
    [MyAuthorize(Roles = "Project Manager")] 
    public ActionResult Comment(Comment comment) 
    {  
      var com = new Comment 
      { 
       ProjectManagerId = User.Identity.GetUserId(), 
       ProjectId= id, 
       CommentDesc =comment.CommentDesc 
      }; 
      context.Comments.Add(com); 
      context.SaveChanges(); 
      return RedirectToAction("Main", "Home"); 
    } 

あなたPartialView:あなたは私はあなたが提出form方法を理解することはできません問題の

@model Trial.Models.Comment 
@using (Html.BeginForm("Comment", "Project")) 
{ 

<div class="modal hide fade"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
       <h4 class="modal-title">Comment</h4> 
      </div> 
     <form> 
     //Please use Html.BeginForm OR Ajax.BeginForm OR jQuery Ajax for submit form 
      <div class="modal-body"> 
       @Html.HiddenFor(model=>model.ProjectId) 
       @Html.HiddenFor(model=>model.ProjectManagerId) 
       @Html.TextAreaFor(m => m.CommentDesc, new { @class = "input-style form-control", @style = "background-color: transparent;", @placeholder = "Comment on the post", @rows = "6" })<br /> 
      </div> 
      <div class="modal-footer"> 
       <input type="submit" class="put-in btn btn-succes" value="Post" /> 
       <button type="button" class="btn btn-primary" data-dismiss="modal">Close</button> 
      </div> 
     </form> 
     </div> 
    </div> 
</div> 
} 

。したがって をご利用くださいHtml.BeginFormまたはAjax.BeginFormまたはjQuery Ajax フォームを送信してください。

関連する問題