2

パラメータをコントローラに渡すことはnullです..例から、正しいオーバーロードを使用していることがわかります。どんな助けでも大歓迎

@{
foreach (string str in ViewBag.ServerNames)
{
    <ul> 
     <img src="../../Content/Images/my_computer.png" alt="Computer Name"/>
        <li >@Html.ActionLink(linkText: str.ToString(),actionName: "Index",controllerName:"Customer",
        routeValues:new{str = str.ToString()} , htmlAttributes: null)</li>
    </ul>

}

}

public ActionResult Index(string conName)
    {
        Response.Write("con name = " + conName);
        Response.End();
        string con = ConfigurationManager.ConnectionStrings[conName].ConnectionString;
        trakman_Entities db = new trakman_Entities(con);
        return View(db.customers.ToList());
    }

ブラウザのソースコード

 <ul> 
     <img src="../../Content/Images/my_computer.png" alt="Computer Name"/>
        <li ><a href="/Customer/Index/DefaultConnection">DefaultConnection</a></li>
    </ul>
    <ul> 
     <img src="../../Content/Images/my_computer.png" alt="Computer Name"/>
        <li ><a href="/Customer/Index/trakman_Entities">trakman_Entities</a></li>
    </ul>
    <ul> 
     <img src="../../Content/Images/my_computer.png" alt="Computer Name"/>
        <li ><a href="/Customer/Index/trakman_Entities1">trakman_Entities1</a></li>
    </ul>
4

2 に答える 2

6

アクションリンクで正しいパラメータ名を指定する必要があり、ここでパラメータを指定する必要はありません:)

@{
foreach (string str in ViewBag.ServerNames)
{
    <ul> 
     <img src="../../Content/Images/my_computer.png" alt="Computer Name"/>
        <li >@Html.ActionLink(str.ToString(),"Index","Customer",
        new{conName= str.ToString()} , null)</li>
    </ul>

}
于 2013-05-30T08:17:57.833 に答える
0

MVC をすぐに使用している場合は、int を受け入れる id というパラメーターでのみ機能する可能性があります。これを機能させるには、以下のように URL でパラメーターを明示的に定義する必要があります。

<a href="/Customer/Index/?conName=trakman_Entities">trakman_Entities</a>
于 2013-05-30T08:20:17.380 に答える