【发布时间】:2023-03-06 20:47:01
【问题描述】:
我正在尝试在 MVC 项目中使用 javascript 呈现 url 操作。我在我的页面上捕获了一个调用此函数的事件,但我不确定如何调用此特定 URL。
谁能帮帮我? :)
function onDropDownChange(e) {
var url = '/Home/Index/' + e.value;
//What now...?
}
-----------已编辑-----------
这是我的控制器操作:
public ActionResult Index(int? id)
{
var tmpToday = DateTime.Now;
var today = new DateTime(tmpToday.Year, tmpToday.Month, tmpToday.Day, 0, 0, 0);
if (id != null)
{
var num = id.GetValueOrDefault();
var rentableUnits = new List<Unit>();
_unitLogic.GetAllRentableUnitsByArea(num, rentableUnits);
var allAvailabilities = new ShowAvailability[rentableUnits.Count];
for (int i = 0; i < rentableUnits.Count; i++)
{
var sTime = GetFirstDayOfMonth(today);
var eTime = GetLastDayOfMonth(today);
allAvailabilities[i] = new ShowAvailability(sTime, eTime.AddHours(23.0).AddMinutes(59.0), rentableUnits);
today = today.AddMonths(1);
}
var showAvailability = new List<ShowAvailability>(allAvailabilities);
return View(new HomeFormViewModel(showAvailability));
}
else
{
var allAvailabilities = new ShowAvailability[12];
for (int i = 0; i < 12; i++)
{
var sTime = GetFirstDayOfMonth(today);
var eTime = GetLastDayOfMonth(today);
allAvailabilities[i] = new ShowAvailability(sTime, eTime.AddHours(23.0).AddMinutes(59.0));
today = today.AddMonths(1);
}
var showAvailability = new List<ShowAvailability>(allAvailabilities);
return View(new HomeFormViewModel(showAvailability));
}
}
#
我正在为触发 javascript 函数的 DropDownList 使用 Telerik 扩展,这实际上是一个 Razor 视图:
@(Html.Telerik().DropDownList()
.Name("DropDownList")
.Items(area =>
{
area.Add().Text("Öll svæði").Value("0").Selected(true);
foreach (Unit a in Model.Areas)
{
area.Add().Text(a.Name).Value(a.UnitID.ToString());
}
})
.HtmlAttributes(new { style = "width: 130px;" })
.ClientEvents(clev => clev.OnChange("onDropDownChange"))
)
这是脚本:
function onDropDownChange(e) {
var url = '/Home/Index/' + e.value;
$.ajax({
type: "GET",
url: url,
data: {},
dataType: "html"
});
}
【问题讨论】:
-
你怎么打电话给
onDropDownChange?e对应什么? -
您是在寻找 ajax 调用还是新页面加载?你试过用谷歌搜索“javascript call new url”吗?
-
打电话是什么意思?将页面重新加载到新页面,还是从该 url 获取数据而不刷新?
-
我正在尝试加载新页面,e 代表完成 url 所需的 id 值,例如:localhost:111/home/index/20
-
基本上如果我可以从 javascript 渲染这个动作:@Url.Action("Index", "Home", new {id = e.value}) ...那就完美了:)
标签: jquery asp.net-mvc razor