我是MVC的新手,并且有新手对MVC的了解 我正在创建一个MVC应用程序,我在这个页面中显示了在特定时间发生的事件。 现在,当我从下拉列表中选择事件时,我会获得特定事件的详细信息。现在连同特定事件的描述,我需要获得人们为该特定事件输入的反馈 这是我的观点:
<div><a href="<%:Url.Action("ManagementHome","Home")%>">Home </a>>> Events</div>
<br />
<%:Html.LabelFor(m => m.Event)%>
<%:Html.DropDownListFor(m => m.Event.SelectedValue, Model.Event.GetSelectList(), new { id = "EventDropDown"})%>
<br /><br />
<div id="result" style="color: Green; border: 1px null transparent; ">
<%Html.RenderPartial("~/Views/PartialViews/EventsPartial.ascx"); %>
</div>
<%:Ajax.ActionLink("view", "viewFeedback", "Home", new AjaxOptions { UpdateTargetId = "comments" }, new {eventid=Model.Event.SelectedValue})%>
<div id="comments" style="color: Green; border: 1px null transparent;">
<%Html.RenderPartial("~/Views/PartialViews/FeedbackPartial.ascx"); %>
</div>
有人可以建议我如何在其ActionLink中传递该事件的ID? 提前致谢
答案 0 :(得分:2)
您可以在参数中使用Html.ActionLink
使用routeValues
传递值。
例如:
// VB
@Html.ActionLink("Link Text", "MyAction", New With {.eventId = 1})
// C#
@Html.ActionLink("Link Text", "MyAction", new {eventId = 1})
可能会产生链接:
http://localhost/MyAction?eventId=1
答案 1 :(得分:0)
你必须使用ajax函数:
$('youractionlinkid').click(function () {
var id = $('#yourdropdownid').val();
$.ajax({
url: this.href,
type: 'GET',
data: { id:id },
cache: false,
success: function (result) {
//do some action here
}
});
return false;
});
答案 2 :(得分:0)
Razor也将以这种方式采用AJAX:
<div class="editorholder">
@Html.DropDownListFor(model => model.Display_ID, new SelectList(Model._listAllDisplayViewModel.ListAllDisplayInfo, "DisplayID", "DisplayName"), "Select.....", new { @class = "form-control", @id = "DisplayID", @onchange = "DisplayInfo();" })
</div>
<div class="editor-field">
<div id="DisplayView">
@Html.Partial("_DisplayView", Model._displayViewModel)
</div>
</div>
function DisplayInfo() {
$("#DisplayView").load('@(Url.Action("_DisplayView", "Display", null, Request.Url.Scheme))?id=' + $("#DisplayID").val());
};