2017-01-18 4 views
0

を使用してMVC 5に部分図でデータを取得していないアヤックスはここに私のHTMLでのSQL Server 2008 R2

public class HomeController : Controller 
{ 
     DataSet ds = new DataSet(); 
     DataAccess objda = new DataAccess(); 

     [HttpGet] 
     public ActionResult Index() 
     { 
      User emp = new User(); 
      emp.Action = 4000; 
      ds = objda.getData(emp); 

      var bList = new List<User>(); 
      { 
       foreach (DataRow dr in ds.Tables[0].Rows) 
       { 
        bList.Add(new User 
        { 
         Entryid = Convert.ToInt32(dr[0]), 
         sno = dr[0].ToString(), 
         FName = dr[2].ToString(), 
         LName = dr[3].ToString(), 
         location = dr[4].ToString(), 
         email = dr[5].ToString(), 
        }); 

       } 
      } 
      emp.emp1 = bList; 
      return View("Index", emp); 
     } 

     [HttpGet] 
     public ActionResult Details(int Id) 
     { 
      User usr = new User(); 
      usr.Entryid = Id; 
      usr.Action = 4002; 
      ds = objda.getData(usr); 

      var bList = new List<User>(); 
      { 
       foreach (DataRow dr in ds.Tables[0].Rows) 
       { 
        bList.Add(new User 
        { 
         Entryid = Convert.ToInt32(dr[0]), 
         sno = dr[0].ToString(), 
         FName = dr[2].ToString(), 
         LName = dr[3].ToString(), 
         location = dr[4].ToString(), 
         email = dr[5].ToString(), 
        }); 

       } 
      } 
      usr.emp1 = bList; 
      return PartialView("_Details", usr); 
     } 
} 

//これは私の部分図です

私のコードでは、ajaxを使ってパーシャルビューを呼び出していますが、ユーザーの詳細リンクをクリックすると、そのユーザーの説明はajaxで取得されず、空のブートストラップモーダルポップアップが表示されます。

同じページでユーザーが選択したユーザーの詳細を取得していますが、取得されません。私はASP.NET MVCに5

おかげ

+1

これは、 'contentType:" application/json; charset = utf-8 "、'(データをストリング化しないでください)を 'datatype:" html "、'(jsonではなくviewを返す) –

+1

呼び出されたかどうかにかかわらず、ブレークポイントを追加してアクションメソッドをチェックしましたか?あなたがId値を取得している場合は呼び出されますか? –

+0

コンソールでエラーが発生しましたか?あなたのdevツールをブラウザで使用する際にどのような反応が見られますか? –

答えて

0

私はあなたが構築されているURLが間違っていると思われるが新しいですので、問題である任意の提案をお願いします。 contentTypedatadataTypeパラメータを退治してみて、私はあなたのルーティングエンジンをサポートするように設定されていると何しているフォーム{controller}/{action}/{id}のURLを使用します。

var TeamDetailPostBackURL = '@Url.Action("Details", "Home")'; 
$(".anchorDetail").click(function() { 
    debugger; 
    var $buttonClicked = $(this); 
    var id = $buttonClicked.attr('data-id'); 
    var options = { "backdrop": "static", keyboard: true }; 
    $.ajax({ 
     type: "GET", 
     url: TeamDetailPostBackURL + '/' + id, 
     success: function (data) { 
      debugger; 

      $('#myModalContent').html(data); 
      $('#myModal').modal(options); 
      $('#myModal').modal('show'); 
     }, 
     error: function() { 
      alert("Dynamic content load failed."); 
     } 
    }); 
}); 

はまた、AJAX要求を検査するには、ブラウザの開発者ツールバーを使用していますサーバーと実際の応答に送信されています。これにより、コードの問題をより簡単にデバッグすることができます。

+0

私はミスをキャッチしました。実際に私は部分ビューにforeachループを適用しなかったので、データが私のモーダルにレンダリングされません。 – user6180198

+0

**データテーブルの最初のページで検索、並べ替え、ページ設定を行うjqueryデータテーブルを使用すると、新しい問題に直面しています。ポップアップが正しくポップアップされますが、ページを変更した後はモーダルがポップアップしませんリンククリックで呼ばれました。私を助けてください。** – user6180198

関連する問題