2017-08-03 9 views
-1

ボタンクリック時にjavascriptを使用して別のビューにリダイレクトする必要があります。私がクリックしている行の "Account Id"が必要なので、私はJavaScriptを使用する必要があります。以下は、私のコードは、これはこれは "、私はalert(url)を使用すると、別のビューにjavacriptでWindow.locationが機能しない

$('a.lnkDetail').on("click", function() { 

     var row = $(this).closest('tr'); 
     var acctId = row.find("td:eq(0)").html().trim(); 
     var url = '@Url.Action("ViewAccountDetail", "AccountWVehicle")?acctId=' + acctId; 

     Window.location = url; 


     return false; 
    }); 

を、私をナビゲートするjavascriptのあるページに

<link rel="stylesheet" type="text/css" 

href="//cdn.datatables.net/1.10.10/css/jquery.dataTables.min.css"> 
<link href="@Url.Content("~/css/bootstrap.css")" rel="stylesheet"> 
<link href="~/Content/themes/base/all.css" rel="stylesheet" /> 
<script> 
    $(document).ready(function() { 
     $("#acctInfo").DataTable(); 
     //$(".td_0").hide(); 
    }); 
</script> 

<!-- Page Title 
    ============================================= --> 
<section id="page-title"> 

    <div class="container clearfix"> 
     <h1>View Accounts</h1> 
    </div> 
</section><!-- #page-title end --> 


<section id="content"> 
    <div class="content-wrap"> 
     <div class="container clearfix"> 
      <table class="table table-striped table-condensed table-hover" id="acctInfo"> 
       <thead> 
       <tr> 
        <th class="td_0">Account Id</th> 
        <th>Employee Id</th> 
        <th>First Name</th> 
        <th>Middle Name</th> 
        <th>Last Name</th> 
        <th>Business Name</th> 
        <th>Account Type</th> 
        <th></th> 
        <th></th> 
        <th></th> 
       </tr> 
       </thead> 
       <tbody> 
       @foreach (var i in Model.AccountsViews) 
       { 
        <tr id="rowx"> 
         <td> @Html.DisplayFor(m => i.AcctId)</td> 
         <td> @Html.DisplayFor(m => i.EmployeeId)</td> 
         <td> @Html.DisplayFor(m => i.FirstName)</td> 
         <td> @Html.DisplayFor(m => i.MiddleName)</td> 
         <td> @Html.DisplayFor(m => i.LastName)</td> 
         <td> @Html.DisplayFor(m => i.BusinessName)</td> 
         <td> @Html.DisplayFor(m => i.AccountType)</td> 
         <td><a href="javascript:void(0)" class="lnkDetail btn btn-success form-control">Detail</a></td> 
         <td><a href="javascript:void(0)" class="lnkEdit btn btn-success form-control">Edit</a></td> 
         <td><a href="javascript:void(0)" class="lnkDelete btn btn-danger form-control">Delete</a></td> 

         @*<td> 
           <input type="button" value="Edit" class="btn btn-success form-control" onclick="EditSelected(this)"> 
           <input id="btn_edit[]" type="button" value="Edit" class="btn btn-success form-control" /> 
          </td> 
          <td> 
           <input type="button" value="Delete" class="btn btn-danger btn-success form-control" /> 
          </td>*@ 
        </tr> 
       } 
       </tbody> 
      </table> 
     </div> 
    </div> 
</section> 

<div id="divEdit" style="display: none;"> 

    <input type="hidden" id="hidId"/> 
    <table> 
     <tr> 
      <td>Employee Id</td> 
      <td><input type="text" id="txtEmployeeId" class="form-control"/></td> 
     </tr> 
     <tr> 
      <td>First Name</td> 
      <td><input type="text" id="txtFirstName" class="form-control"/></td> 
     </tr> 
     <tr> 
      <td>Middle Name</td> 
      <td><input type="text" id="txtMiddleName" class="form-control"/></td> 
     </tr> 
     <tr> 
      <td>Last Name</td> 
      <td><input type="text" id="txtLastName" class="form-control"/></td> 
     </tr> 
     <tr> 
      <td>Business Name</td> 
      <td><input type="text" id="txtBusinessName" class="form-control"/></td> 
     </tr> 
     <tr> 
      <td>Account Type</td> 
      <td> 
       @Html.DropDownList("ddlAccount", new List<SelectListItem> 
       { 
        new SelectListItem{Text = "Supplier", Value = "Supplier"}, 
        new SelectListItem{Text = "Employee", Value = "Employee"} 
       }, new{@class="form-control", id="ddlAccount"}) 
      </td> 
     </tr> 
    </table> 
</div> 

をレンダリングすることです

です正しいURLを取得します。"/ViewAccountDetail/AccountVehicle?acctId=7"

あなたの助けは非常に高く評価されます。

+0

あなたが実際に 'あなたの新しいURLにwindow.location'を設定することはありません。 –

+0

あなたはURLで何もしません。あなたはそれを設定しようとしていない場合、 'window.location'は動作していないと思いますか? – DarthJDG

+0

ダースはどういう意味ですか?アクション "ViewAccountDetail"を呼び出すとすぐに、私はそのビューにナビゲートすることになっています。 – Ibanez1408

答えて

2

例えば、あなたの新しいURLにlocation.hrefを設定してみてください:

location.href = '/' 
+1

これはトリックでした! Window.location = url //動作しませんWindow.location.href // location.hrefのどちらかが動作しません!ありがとうございました!私はできるだけ早く小切手をクリックします。私は6分間待つ必要があります。 – Ibanez1408

0

はこれを試してみてください動作します。ここ

$('a.lnkDetail').on("click", function (event) { 
    event.preventDefault(); 

    var row = $(this).closest('tr'); 
    var acctId = row.find("td:eq(0)").html().trim(); 
    window.location = '@Url.Action("ViewAccountDetail", "AccountWVehicle")?acctId=' + acctId; 
}); 

さらに詳しい情報:What is the difference between Window and window?

関連する問題