如何将参数从列表传递到javascript
我是MVC的新手,所以如果这可能有点无知,我深表歉意。在我的MVC应用程序中,我试图跟踪每次单击或访问页面的情况。我的策略是,每当在特定页面的主视图上单击时,通过向javascript函数传递一个参数将其记录到数据库中,javascript函数反过来调用与cs文件通信的webmethod 我目前的主要问题是,我无法将数据从主页上的点击传递到javascript函数,因为一些非常奇怪的原因,它拒绝与该函数通信。我试过使用两种方法,onClick和data bind(这两种策略都在下面的代码中表示),但都不起作用。有什么建议吗如何将参数从列表传递到javascript,javascript,c#,jquery,html,Javascript,C#,Jquery,Html,我是MVC的新手,所以如果这可能有点无知,我深表歉意。在我的MVC应用程序中,我试图跟踪每次单击或访问页面的情况。我的策略是,每当在特定页面的主视图上单击时,通过向javascript函数传递一个参数将其记录到数据库中,javascript函数反过来调用与cs文件通信的webmethod 我目前的主要问题是,我无法将数据从主页上的点击传递到javascript函数,因为一些非常奇怪的原因,它拒绝与该函数通信。我试过使用两种方法,onClick和data bind(这两种策略都在下面的代码中表示)
<tr class="row">
<td>
<div class="tabbable">
<ul class="nav nav-tabs nav-stacked" id="menuTabs">
<li class="active"><a href="#land" data-toggle="tab" onclick="PostName('Home')">Home</a></li>
<li class=""><a href="#tutuwaroadshow" data-toggle="tab" data-bind="click: function (o, e){$root.PostName(o,e);}" >Tutuwa roadshows</a></li>
<li class=""><a href="#faqsandpresentations" data-toggle="tab" onclick="PostName('Faqs')">FAQ's and presentations</a></li>
<li class=""><a href="#examplescenarios" data-toggle="tab" onclick="PostName('ExampleScenarios')">Example scenarios</a></li>
<li class=""><a href="#financialadvisors" data-toggle="tab" onclick="PostName('FinancialAdvisors')">Financial advisors</a></li>
<!--<li class=""><a href="#privateclients" data-toggle="tab">Private Clients</a></li>-->
<li class=""><a href="#trustdeeds" data-toggle="tab" onclick="PostName('TrustDeeds')">Trust deeds</a></li>
<li class=""><a href="#newsflashes" data-toggle="tab" onclick="PostName('Newsflashes')">Newsflashes</a></li>
<li class=""><a href="#usefullinksandcontacts" data-toggle="tab" onclick="PostName('Useful')">Useful links and contacts</a></li>
<li class=""><a href="#webinar" data-toggle="tab" onclick="PostName('Webinar')">Webinar</a></li>
</ul>
</div>
<div class="newsflash"><a href="~/Content/files/Tutuwa%20Newsflash%204.pdf" target="_blank">Click here for the latest newsflash.</a></div>
</td>
<td rowspan="2">
<div class="tab-content">
<div class="tab-pane active" id="land">@Html.Partial("Land")</div>
<div class="tab-pane" id="tutuwaroadshow">@Html.Partial("TutuwaRoadshow")</div>
<div class="tab-pane" id="faqsandpresentations">@Html.Partial("FaqsAndPresentations")</div>
<div class="tab-pane" id="examplescenarios">@Html.Partial("ExampleScenarios")</div>
<div class="tab-pane" id="financialadvisors">@Html.Partial("FinancialAdvisors") </div>
<div class="tab-pane" id="privateclients">@Html.Partial("PrivateClients")</div>
<div class="tab-pane" id="trustdeeds">@Html.Partial("TrustDeeds")</div>
<div class="tab-pane" id="newsflashes">@Html.Partial("NewsFlashes")</div>
<div class="tab-pane" id="usefullinksandcontacts">@Html.Partial("UsefulLinksAndContacts")</div>
<div class="tab-pane" id="webinar">@Html.Partial("Webinar")</div>
</div>
</td>
@Html.部分(“土地”)
@Html.Partial(“TutuwaRoadshow”)
@Html.Partial(“常见问题解答和演示文稿”)
@Html.Partial(“示例场景”)
@Html.部分(“财务顾问”)
@Html.Partial(“私有客户端”)
@Html.部分(“信托契约”)
@Html.Partial(“新闻快讯”)
@Html.Partial(“UsefulLinksAndContacts”)
@Html.Partial(“网络研讨会”)
还有javascript:
<script type="text/javascript">
function PostName(pageName) {
debugger;
$.ajax({
type: "POST",
url: 'HomeController/SaveVisitorHits',
data: { s: pageName },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
//do nothing
},
error: function (e) {
// do nothing
}
});
}
</script>
函数PostName(pageName){
调试器;
$.ajax({
类型:“POST”,
url:“HomeController/SaveVisitorHits”,
数据:{s:pageName},
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(msg){
//无所事事
},
错误:函数(e){
//无所事事
}
});
}
在html中使用函数之前,需要定义函数,并且需要编写onclick=“javascript:PostName('name')”
但是,更好的方法是在数据属性中设置名称,并使用jQuery附加click处理程序,因为您已经在AJAX调用中使用了它。谢谢。。我已经输入了“javascript:PostName('name')”。还是一样,它没有到达js。我是否应该将Javascript放在一个单独的文件中?在我在HTML中使用函数之前,请解释一下定义函数是什么意思?例如,如果你将函数定义移到头部,它应该可以工作。看见