控制器:
public class HomeController : Controller
{
private static string selection = String.Empty;
dynamic mymodel = new ExpandoObject();
public ActionResult Post(string Name)
{
selection = Name;
return RedirectToAction("Index");
}
public ActionResult Index()
{
SegmentRepository segment = new SegmentRepository();
mymodel.listofSegments = segment.GetSegmentation();
DynamicRepository dynamic = new DynamicRepository();
mymodel.listofDynamic = dynamic.GetDynamicContent(selection); //After selecting the segmentation in the view it returns the required dynamic content in mymodel.listofDynamic but does not display it in the view.
return View(mymodel);
}
在视图中选择分段后,它会在mymodel.listofDynamic中返回所需的动态内容,但不会在视图中显示。
查看:
//Ajax
<script>
function seg() {
var employment = document.getElementById("Employment").value;
$.ajax(
{
type: "POST", //HTTP POST Method
url: '@Url.Action("Post","Home")', // Controller/View
data: { //Passing data
Name: employment //Reading text box values using Jquery
}
}
)
}
<tr>
<td height="100">
<label>220</label>
</td>
<td>
<select id="Employment">
<option>---Select---</option>
@foreach (var item in Model.listofSegments)
{
<option name="selectedSegment" value="@item">@item</option>
}
</select>
<input type="submit" value="Send" name="submit" onclick="seg()">
</td>
<td>
<select name="Dynamic">
<option>---Select---</option>
@foreach (var item in Model.listofDynamic)
{
<option name="selectedDynamic" value="@item">@item</option>
}// I need the data to get listed here
</select>
<input type="submit" value="Send" name="Submit1">
</tr>
需要再次运行ActionResult索引,以便在视图中打印listofDynamic中的数据。
答案 0 :(得分:0)
尝试重新加载所需的div成功&#39; ajax的方法。在这里,您将返回响应(纯HTML作为View here),而不是将其绑定到任何地方。
ajax调用是异步的,它不会重新加载整个视图。
找到下面的代码
$.ajax(
{
type: "POST",
url: '@Url.Action("Index", "Home")',
success: function (returnData,success)
{
$("#sampleDiv").html(returnData);
}
}
);