【发布时间】:2013-08-22 22:55:03
【问题描述】:
我有一个 webgridextensions 类,它为不同的场景定义了“WebGridColumn”返回......
public static WebGridColumn ApptLinksWSchedule(this WebGrid grid, HtmlHelper html)
{
return grid.Column(
header: "",
style: "actionColumn",
format: item => new HtmlString(
html.ActionLink("Schedule", "Schedule", new { ID = item.CourseExamApptID }, new { onclick = "return confirm('Are you sure you'd like to schedule this Appointment?');" }).ToString()
)
);
}
public static WebGridColumn ApptLinksWCancel(this WebGrid grid, HtmlHelper html)
{
return grid.Column(
header: "",
style: "actionColumn",
format: item => new HtmlString(
html.ActionLink("Edit", "Edit", new { ID = item.CourseExamApptID }).ToString() + " | " +
html.ActionLink("Delete", "Delete", new { ID = item.CourseExamApptID }).ToString() + " | " +
html.ActionLink("Cancel", "Cancel", new { ID = item.CourseExamApptID }, new { onclick = "return confirm('Are you sure you'd like to cancel this Appointment?');" }).ToString()
)
);
}
在我看来,我需要根据模型属性的值有条件地应用 htmlActionLinks。如果我的 model.AppointmentStatus = "Scheduled",则显示一组操作链接,如果不显示另一组...
<div class="webgrid-wrapper">
<div id="grid">
@grid.GetHtml(
tableStyle: "webgrid",
headerStyle: "webgrid-header",
footerStyle: "webgrid-footer",
alternatingRowStyle: "webgrid-alternating-row",
selectedRowStyle: "webgrid-selected-row",
rowStyle: "webgrid-row-style",
columns: grid.Columns(grid.Column("StudentID", "SMUId"),
grid.Column("StudentName", "Name"),
grid.Column("CourseName", "Course"),
grid.Column("InstructorName", "Professor"),
grid.Column("ExamLength", "ExamLength"),
grid.Column("SchedExamBeginTime", "Time In"),
grid.Column("SchedExamEndTime", "Time Out"),
grid.Column("Notes", "Notes"),
grid.Column("AppointmentStatus", "Status"),
//THIS IS WHat I'd like to display in a column...
//if (model.AppointmentStatus == "Scheduled")
//{
// html.ActionLink("Edit", "Edit", new { ID = item.CourseExamApptID }).ToString() + " | " +
// html.ActionLink("Delete", "Delete", new { ID = item.CourseExamApptID }).ToString() + " | " +
// html.ActionLink("Cancel", "Cancel", new { ID = item.CourseExamApptID }, new { onclick = "return confirm('Are you sure you'd like to cancel this Appointment?');" }).ToString()
//}
//html.ActionLink("Schedule", "Schedule", new { ID = item.CourseExamApptID }, new { onclick = "return confirm('Are you sure you'd like to schedule this Appointment?');" }).ToString()
//THIS IS MY ORIGINAL CODE THAT WORKS with only needing same column and link for every record...
//grid.ApptLinksWCancel(Html)
)
)
</div>
我该如何做到这一点?
谢谢
【问题讨论】:
-
对不起大家,我在这里睡着了,我需要的是在编辑中..根据状态值不同的链接...
标签: asp.net-mvc asp.net-mvc-4 razor webgrid