Asp MVC ajax动态参数
我不确定该如何措辞,但没有任何帮助。
我有一个具有两个参数的控制器:FindingId,TagId
public JsonResult Add(int FindingId, int TagId)
我有一个Ajax ActionLink来称呼它:
<%: Ajax.ActionLink( \"Add\", \"Add\", \"FindingTag\",
new { FindingId = Model.FindingId },
new AjaxOptions {
HttpMethod = \"Post\"
})
%>
然后,我有一个可用标签的下拉列表:
<%: Html.DropDownListFor(m => m, Model.AvailableTags, \"Select Option..\", new { id = \"finding_\" + Model.FindingId + \"_AvailableTags\" } )%>
通过以下方式填充参数:
您可以在上方看到渲染模型时我正在填写FindingId,因为在本小节中,这将始终相同。此视图针对不同的Findings进行了多次渲染,因此FindingId将针对每个模型进行更改。
但是,TagId应该来自DropDownList的选定值。
我没有将此特定请求映射到要传递的视图模型,因此dropdownlist没有绑定到特定属性。我还为
/FindingTag/Add/{FindingId}/{TagId}
因此,这里有一些问题已经提出,我真的希望有人可以帮助我,因为这对我来说真的很了解。
1)我发现href呈现为Add?FindingId = ##,我很好奇是否可以强制将其呈现为Add / ##
2)有没有一种更简单的方法可以从下拉列表中获取值并附加到href以创建上述路由?
在项目中的大多数时候,我一直在使用jQuery进行ajax调用,因此我只是从头开始手动构建URL,但我确实希望使用MS版本进行练习。这看起来不合理吗?让我知道您是否有任何建议或见解。
编辑:
我不确定这是否是解决问题的方法。我发现有人说要使用表单并提交该表单,但是如果我已经将其作为已经强类型的局部视图的一部分,那么我该如何获取以我可以使用的表单形式发送回的值呢?完整的模型?我希望将其保留为2个参数,如果可能的话,不要使用复杂的对象。
没有找到相关结果
已邀请:
0 个回复