1

Ajax経由でデータをロードしようとしているJquery UIタブを使用しています。リンクはプログラムによって生成されます。

string LinkID = "";

<ul>
 @foreach (MyItem item in Model.ItemList)
 {
   <li>
    LinkID = "subcat" + ViewBag.F_ID + "-tabs-item" + item.ID + "-link";
    @Html.ActionLink( item.Name,           //Link Text
                     "GetItem",            //Action Name
                     "Items",              //Controller Name
                      //Route Values
                      new { C_ID = ViewBag.C_ID, D_ID = ViewBag.D_ID, E_ID = ViewBag.E_ID, F_ID = ViewBag.F_ID, G_ID = ViewBag.G_ID, Item_ID = item.ID }, 
                      //HTML Attributes
                      new { id = LinkID, @class = "ItemLoadViaAjax", title = item.Name })
   </li>   
  }
 </ul>   

生成されるアンカー要素:

  <a class="ItemLoadViaAjax" 
     href="#Cadbury_Eclairs" 
     id="subcat11-tabs-item9-link" 
     title="Cadbury Eclairs">
     Cadbury Eclairs
  </a>

値は、 ActionLink から生成された URL ではなく、 のhref値と同じです。title

なぜこれが起こっているのですか?

4

2 に答える 2

0

以下で試してみてください。routevalues パラメータに値を渡していると思います

@Html.ActionLink(linkText: item.Name, actionName: "GetItem", 
                  controllerName: "Items", 
                  RouteValues: new { C_ID = ViewBag.C_ID, D_ID = ViewBag.D_ID, E_ID =  ViewBag.E_ID, F_ID = ViewBag.F_ID, G_ID = ViewBag.G_ID, Item_ID = item.ID }
                  htmlAttributes: new { id = LinkID, @class = "ItemLoadViaAjax", title = item.Name },
routeValues: null)

ASPX ビューに取り組んでいます。

<a class="ItemLoadViaAjax" href="/TRS/ControllerName/ActionName.aspx?C_ID=ViewBag.C_ID&amp;D_ID=ViewBag.D_ID&amp;E_ID=ViewBag.E_ID&amp;F_ID=ViewBag.F_ID&amp;G_ID=ViewBag.G_ID&amp;Item_ID=item.ID" id="LinkID" title="item.Name">LinkText</a>
于 2012-06-20T12:35:54.907 に答える
0

なぜそうなったのかはわかりませんが、値をdivのIDに設定し、「onclick」関数を使用して別のJavascript関数を呼び出してajax投稿を行うステートメントに置き換えHtml.ActionLinkました。<a href..>href

于 2012-06-22T08:59:12.887 に答える