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我错过了它现在可以工作了,我如何在加载文本时显示加载文本?