C# 根据请求生成数据(ASP.NET MVC-HTML)

C# 根据请求生成数据(ASP.NET MVC-HTML),c#,html,asp.net-mvc,razor,C#,Html,Asp.net Mvc,Razor,全部, 我试图在菜单中动态生成用户标签 我做了以下几件事 public class TagModel { public Int64 Tag_id { get; set; } public string Tag_name { get; set; } } 为标记项创建了局部视图,并将其放置在主菜单导航栏中 使用标记模型动态生成标记列表 我的部分视图包含以下代码 @{ MVCbootstrap.Views.Tag.TagListGenerator tagList = new MV

全部,

我试图在菜单中动态生成用户标签

我做了以下几件事

 public class TagModel
{
    public Int64 Tag_id { get; set; }
    public string Tag_name { get; set; }
}
为标记项创建了局部视图,并将其放置在主菜单导航栏中

使用标记模型动态生成标记列表

我的部分视图包含以下代码

@{ 
MVCbootstrap.Views.Tag.TagListGenerator tagList = new MVCbootstrap.Views.Tag.TagListGenerator();
List<MVCbootstrap.Models.TagModel> Tag_List = tagList.Get_Tags_List();
}
<li class="">
<a href="javascript:;">
    <span class="title">Tags</span>
    <span class=" arrow"></span>
</a>
<span class="icon-thumbnail"><i class="pg-indent"></i></span>
<ul class="sub-menu"> 
    @foreach (MVCbootstrap.Models.TagModel I in Tag_List)
    {
            <li class="">
                <a href="#">@I.Tag_name</a>                    
            </li>
    }
</ul>
</li>
干杯

决议:

因此,我在我的主控制器中创建了一个名为GetTags的操作,它返回部分视图

[HttpGet]
    public ActionResult GetTags()
    {            
        return PartialView("~/Views/TagNavMenu");

    }
    <script src="~/Scripts/jquery-1.10.2.min.js"></script>  
<script type="text/javascript">
    $('#showtags').on('click', function () {
        $.ajax({
            type: "GET",
            url: '/Home/GetTags',
            success: function (data) {
            $('#divdiv').html(data);
            }
        });
    });
</script>
[HttpGet]
    public ActionResult GetTags()
    {            
        return PartialView("~/Views/TagNavMenu");

    }
    <script src="~/Scripts/jquery-1.10.2.min.js"></script>  
<script type="text/javascript">
    $('#showtags').on('click', function () {
        $.ajax({
            type: "GET",
            url: '/Home/GetTags',
            success: function (data) {
            $('#divdiv').html(data);
            }
        });
    });
</script>
然后我在我的主视图中添加了这个

 <li class="">
            <a href="javascript:;" id="showtags">
                <span class="title">Tags</span>
                <span class=" arrow"></span>
            </a>
            <span class="icon-thumbnail"><i class="pg-indent"></i></span>
            <ul class="sub-menu" id="divdiv">  

            </ul>
        </li>
 <li class="">
            <a href="javascript:;" id="showtags">
                <span class="title">Tags</span>
                <span class=" arrow"></span>
            </a>
            <span class="icon-thumbnail"><i class="pg-indent"></i></span>
            <ul class="sub-menu" id="divdiv">  

            </ul>
        </li>
然后我使用这个调用来渲染局部视图

[HttpGet]
    public ActionResult GetTags()
    {            
        return PartialView("~/Views/TagNavMenu");

    }
    <script src="~/Scripts/jquery-1.10.2.min.js"></script>  
<script type="text/javascript">
    $('#showtags').on('click', function () {
        $.ajax({
            type: "GET",
            url: '/Home/GetTags',
            success: function (data) {
            $('#divdiv').html(data);
            }
        });
    });
</script>
[HttpGet]
    public ActionResult GetTags()
    {            
        return PartialView("~/Views/TagNavMenu");

    }
    <script src="~/Scripts/jquery-1.10.2.min.js"></script>  
<script type="text/javascript">
    $('#showtags').on('click', function () {
        $.ajax({
            type: "GET",
            url: '/Home/GetTags',
            success: function (data) {
            $('#divdiv').html(data);
            }
        });
    });
</script>
现在工作

它现在可以工作了,如何在加载文本的同时显示加载文本

您可以在ajax请求之前放置加载消息。例如:

 <script type="text/javascript">
    $('#showtags').on('click', function () {
        $('#divdiv').html('<p>Loading... {or place any other html}</p>');
        $.ajax({
            type: "GET",
            url: '/Home/GetTags',
            success: function (data) {
            $('#divdiv').html(data);
            }
        });
    });
</script>

以防这对其他人有帮助

决议:

因此,我在我的主控制器中创建了一个名为GetTags的操作,它返回部分视图

[HttpGet]
    public ActionResult GetTags()
    {            
        return PartialView("~/Views/TagNavMenu");

    }
    <script src="~/Scripts/jquery-1.10.2.min.js"></script>  
<script type="text/javascript">
    $('#showtags').on('click', function () {
        $.ajax({
            type: "GET",
            url: '/Home/GetTags',
            success: function (data) {
            $('#divdiv').html(data);
            }
        });
    });
</script>
[HttpGet]
    public ActionResult GetTags()
    {            
        return PartialView("~/Views/TagNavMenu");

    }
    <script src="~/Scripts/jquery-1.10.2.min.js"></script>  
<script type="text/javascript">
    $('#showtags').on('click', function () {
        $.ajax({
            type: "GET",
            url: '/Home/GetTags',
            success: function (data) {
            $('#divdiv').html(data);
            }
        });
    });
</script>
然后我在我的主视图中添加了这个

 <li class="">
            <a href="javascript:;" id="showtags">
                <span class="title">Tags</span>
                <span class=" arrow"></span>
            </a>
            <span class="icon-thumbnail"><i class="pg-indent"></i></span>
            <ul class="sub-menu" id="divdiv">  

            </ul>
        </li>
 <li class="">
            <a href="javascript:;" id="showtags">
                <span class="title">Tags</span>
                <span class=" arrow"></span>
            </a>
            <span class="icon-thumbnail"><i class="pg-indent"></i></span>
            <ul class="sub-menu" id="divdiv">  

            </ul>
        </li>
然后我使用这个调用来渲染局部视图

[HttpGet]
    public ActionResult GetTags()
    {            
        return PartialView("~/Views/TagNavMenu");

    }
    <script src="~/Scripts/jquery-1.10.2.min.js"></script>  
<script type="text/javascript">
    $('#showtags').on('click', function () {
        $.ajax({
            type: "GET",
            url: '/Home/GetTags',
            success: function (data) {
            $('#divdiv').html(data);
            }
        });
    });
</script>
[HttpGet]
    public ActionResult GetTags()
    {            
        return PartialView("~/Views/TagNavMenu");

    }
    <script src="~/Scripts/jquery-1.10.2.min.js"></script>  
<script type="text/javascript">
    $('#showtags').on('click', function () {
        $.ajax({
            type: "GET",
            url: '/Home/GetTags',
            success: function (data) {
            $('#divdiv').html(data);
            }
        });
    });
</script>

现在就开始工作

您需要在这里使用AJAX。创建一个控制器操作,该操作将返回JSON格式的标记列表,并在单击标记时通过AJAX调用该操作。然后,当您从服务器收到标记列表时,立即创建HTML。@ChetanRanpariya感谢您的响应,我在HOME Controller中创建了一个名为GetTags的操作,并从该操作返回部分视图,该操作是标记菜单。。它似乎不起作用-请查看编辑后的帖子above@aliusman我认为您需要调查一下浏览器中发生了什么。转到开发者工具,检查JS代码错误和网络活动。仔细检查ajax调用是否成功获得部分视图的结果,没有错误,并且没有JS-errors。谢谢@n.piskunov我错过了它现在可以工作了,我如何在加载文本时显示加载文本?