如何将参数从列表传递到javascript

How to pass parameters from list to javascript

本文关键字:javascript 列表 参数      更新时间:2023-09-26

我是MVC的新手,如果这可能是无知的话,我很抱歉。在我的MVC应用程序中,我试图跟踪页面被点击或访问的每一次时间。我的策略是,每当点击特定页面的主视图时,都会将其记录到数据库中,方法是将参数传递给javascript函数,该函数反过来调用与cs文件通信的web方法。

我目前的主要问题是,我无法将数据从主页上的点击传递给javascript函数,因为一些非常奇怪的原因,它拒绝与该函数通信。我尝试使用两种方法,onClick和databind(这两种策略都在下面的代码中表示),但都不起作用。有什么建议吗?

<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>

和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>

在html中使用函数之前,需要定义函数,并且需要编写onclick="javascript:PostName('name')"

然而,更好的方法是在数据属性中设置名称,并使用jQuery附加单击处理程序,因为AJAX调用已经使用了jQuery。