我的MVC控制器中有一个方法,在调用时会下载一个文档。
我有一个bootstrap Modal,其中href所在的位置指向此方法。
@Html.ActionLink("Download", "Download", new { applicantId = 1, templateId = 1 })
该分钟的applicantId和templateId是硬编码的,但这些值通过jquery作为文本值传递给Modal。
是否可以动态获取HTML ID并将其添加到@ Html.ActionLink?
模态:
<div id="template1">
<div class="modal fade" id="myModal1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<h3 id="app" style="display:none"></h3>
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myModalLabel">Letter Template Logo</h4>
</div>
<div class="modal-body">
<img style="background-size:cover;" src="~/Content/images/image.png" alt="" />
</div>
<div class="modal-footer">
ActionLink("Download", "Download", new { applicantId = 1, templateId = 1 })
</div>
</div>
</div>
</div>
</div>
答案 0 :(得分:1)
我创建了.NetFiddle。它有效here
您可以使用Html.ActionLink()
方法更改.replace()
方法参数,您可以执行以下操作。
<强> // HTML 强>
Parameter 1:<input id="param1" />
Parameter 2:<input id="param2" />
<div class="modal-footer">
@Html.ActionLink("Download", "Example", new { applicantId = 1, templateId = 1 })
</div>
<button id="yourbutton">Change Action Link</button>
<强> // jquery的强>
<script type="text/javascript">
$("#yourbutton").on("click",function(){
var param1 = $("#param1").val();
var param2 = $("#param2").val();
console.log(param1);
console.log(param2);
var link = '@Html.ActionLink("Download", "Example",
new { applicantId = "_applicantId_", templateId = "_templateId_"})';
if(param1 == "" || param2 == "")
{
alert("please fill all parameter inputs")
}
else
{
link = link.replace('_applicantId_', param1);
link = link.replace('_templateId_', param2);
$(".modal-footer").html(link)
alert("I have changed ActionLink. Please click the download link")
}
})
</script>
答案 1 :(得分:0)
@Html.ActionLink("Pond", "Pond", "Home", htmlAttributes: new {
@class="classNameYouWantToAdd" })
或
@Html.ActionLink("Pond", "Pond", "Home", new {
@class="classNameYouWantToAdd" })
如果你想从JQuery那里做,那么你可以定位包含链接的li标签,或者像上面那样在你的动作链接中添加一个类名,然后像往常那样更新对象的类。
$('.TargetedClassNameOfActionLink').addClass('addDifferentClass').removeClass('removeSomeOtherClass')
$('#liTagId').find('.ClassNameOfActionLink').addClass('addDifferentClass').removeClass('removeSomeOtherClass')
或
$('#tabPond').addClass("greenTab");