如何从控制器发送值到asp.net mvc 3中查看?

时间:2013-08-09 10:09:57

标签: asp.net asp.net-mvc

我必须将图像src属性发布到view.So我已经尝试过以下方式

Razor查看:

@using (Html.BeginForm("MapIcon", "test", FormMethod.Get))
{
    <div class="selected" id="selectable_images">
        <table>
            <tr>
                <td>
                    <img src="../../Images/wi0096-48.gif" alt="Image1" class="conversation_img" />
                </td>
                <td>
                    <img src="../../Images/down.png" alt="image2" />
                </td>
                <td>
                    <img src="../../Images/wi0054-48.gif" alt="Image3" />
                </td>
                <td>
                    <img src="../../Images/Photo-icon.png" alt="image4" />
                </td>
            </tr>
            <tr>
                <td>
                    <img src="../../Images/wi0062-48.gif" alt="image5" />
                </td>
                <td>
                    <img src="../../Images/wi0064-48.gif" alt="image6" />
                </td>
                <td>
                    <img src="../../Images/wi0126-48.gif" alt="image7" />
                </td>
                <td>
                    <img src="../../Images/wi0126-48.gif" alt="image8" />
                </td>
            </tr>
            <tr>
                <td>
                    <img src="../../Images/wi0063-64.gif" alt="image9" />
                </td>
                <td>
                    <img src="../../Images/wi0064-48.gif" alt="image10" />
                </td>
                <td>
                    <img src="../../Images/wi0009-48.gif" alt="image11" />
                </td>
                <td>
                </td>
            </tr>
            <tr>
                <td>
                    <img src="../../Images/wi0126-48.gif" alt="iamg12" />
                </td>
                <td>
                    <img src="../../Images/wi0124-48.gif" alt="image13" />
                </td>
                <td>
                    <img src="../../Images/wi0062-48.gif" alt="image14" />
                </td>
                <td>
                </td>
            </tr>
        </table>
    </div>
}
@using (Html.BeginForm("MapIcon", "test", FormMethod.Post, new { id = "postform" }))
{

    <input id="image2" type="hidden" name="image" value="../../Images/down.png">
    <input id="Image3" type="hidden" name="image" value="../../Images/wi0054-48.gif">
    <input id="image4" type="hidden" name="image" value="../../Images/Photo-icon.png">

    <input type="submit" value="Match" />

    foreach (var m in (List<string>) ViewData["list"]) //I am getting Null value here 
    {
        <ul>
            <li>
                <img src="@m"  alt=""/>
            </li>
        </ul>
    }

}

控制器:

[HttpPost]
public ActionResult MapIcon(IEnumerable<string> image)
{
    List<string> urls = new List<string>();
    string val = "";
    foreach (var item in image)
    {
        val = item;
        urls.Add(val);
        //ViewBag.list = val;

        ViewData["list"] = urls; ;

    }
    return View();
}

我的主要问题是我必须显示所选的图像。我试过但没有成功。 img标记的值在控制器中获得。但是如何将这些值再次发送回来查看?

3 个答案:

答案 0 :(得分:1)

您是否尝试使用模型传递视图中的数据?

[HttpPost]
public ActionResult MapIcon(IEnumerable<string> image)
{
    return View(image);
}

在您看来:

@model IEnumerable<string>

using (Html.BeginForm())
{
    foreach (var m in Model)
    {
        <ul>
            <li>
                <img src="@m"  alt=""/>
            </li>
        </ul>
    }

}

答案 1 :(得分:1)

[HttpPost]
public ActionResult MapIcon(IEnumerable<string> image)
{
    List<string> urls = new List<string>();
    string val = "";
    foreach (var item in image)
    {
        val = item;
        urls.Add(val);
        //ViewBag.list = val;

        //ViewData["list"] = urls; ;

    }
        return View(urls);
}

观看

@foreach(var item in Model)
{
 <p> @item.url</p>   
}

答案 2 :(得分:-1)

单击img。

上的用户$ .ajax和jquery以及onclick事件