jquery ajax调用锚标签点击+ mvc 4

时间:2014-07-09 10:34:52

标签: jquery ajax asp.net-mvc-4

我有一个视图,我将渲染文件夹存在于给定路径中。

我们使用根目录作为参数来执行控制器操作,操作将返回root中的内容(文件夹名称,文件名,图像名称等)。 这些细节将呈现为一个视图,文件夹为锚点。

这里的要求是,在点击视图中的任何文件夹时,我们必须执行ajax请求并获取该文件夹的内容并显示它。 这里的问题是,为了处理jquery中的click事件,我没有id到锚点。 即使我将id渲染到锚点,它们也不会因为文件夹数量的变化而变得相同。

那么如何在jquery中处理这些ajax调用。

是否可能或者我们是否只需要点击锚点才能发出正常请求?

请告知..

编辑:我的观点

@model IVM
@{

ImgFolder imgFolder = Model.ViewModel as ImgFolder;
string dirName, fileName;

}

@{Uri uri = Request.Url;}

@*Show the current directory name using page URL. *@
<h2>@Server.UrlDecode(uri.Segments.Last())</h2>


<ul>
    @*Listing the directories *@
    @foreach (var folder in imgFolder.Folders)
    {
        dirName = new DirectoryInfo(folder).Name;


        <li>

            <a class="imagefolder" title="@dirName">@dirName</a>


        </li>


    }

    @* Listing files *@
    @foreach (var file in imgFolder.Files)
    {
        fileName = Path.GetFileName(file);
        <li>
            <a href="@(uri.AbsolutePath + fileName)" title="@fileName" target="_blank">@fileName</a>
        </li>
    }
</ul>

1 个答案:

答案 0 :(得分:0)

在root ul上添加一个类:

<ul class="directories">
    @*Listing the directories *@

并编写如下的jquery事件:

$(".directories a").click(function(e){

    e.preventDefault();

    var tagId = this.id // clicked anchor tag id

    var url = $(this).prop("href");

   // send ajax call here

   $.ajax ({


   });


});