Reputation: 155
I have to post image src attribute to view.So i have tried in the following way
Razor View:
@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>
}
}
Controller:
[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();
}
My main problem is that i have to show those images which are selected. I have tried but not succedded. The value of img
tag are obtained in controller. But how to send these values again back to view?
Upvotes: 1
Views: 928
Reputation: 4059
[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);
}
On View
@foreach(var item in Model)
{
<p> @item.url</p>
}
Upvotes: 1
Reputation: 1366
Have you tried passing the data in your view with a model?
[HttpPost]
public ActionResult MapIcon(IEnumerable<string> image)
{
return View(image);
}
With in your view:
@model IEnumerable<string>
using (Html.BeginForm())
{
foreach (var m in Model)
{
<ul>
<li>
<img src="@m" alt=""/>
</li>
</ul>
}
}
Upvotes: 1