Asp.net MVC AJAX - 如何利用AJAX访问数据吗? [英] Asp.net MVC AJAX - How to access data by using AJAX?
问题描述
案例:我的应用程序包含以下功能模块
- 客户
- 项目
- 业务联系等
code的客户端模块
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;
namespace eCms.Models
{
public class Client
{
public int ClientId { get; set; }
public int? AddressId { get; set; }
public int? ImageFileId { get; set; }
[StringLength(1000)]
[Required(ErrorMessage = "Company Name is required")]
[Display(Name = "Company Name")]
public string CompanyName { get; set; }
[Display(Name = "Contact Number")]
[StringLength(20)]
public string ContactNumber { get; set; }
[Display(Name = "Email")]
[StringLength(100)]
[DataType(DataType.EmailAddress)]
[Email]
public string Email { get; set; }
[StringLength(260)]
[DataType(DataType.Url)]
[Display(Name = "Website")] public string Website { get; set; }
[Display(Name = "Show this client on website")]
public bool IsPublic { get; set; }
#region << relations >>
[ForeignKey("AddressId")]
public virtual Address Address { get; set; }
[ForeignKey("ImageFileId")]
public virtual ImageFile ImageFile { get; set; }
#endregion
}
public class EmailAttribute : RegularExpressionAttribute
{
public EmailAttribute()
: base(@"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}")
{
this.ErrorMessage = "Provide a valid email address";
}
}}
查看/共享/客户/ Index.cshtml 包含以下...
@model IEnumerable<eCms.Models.Client>
@using eCms.Models;
@{
ViewBag.Title = "Index";
eCmsContext db = new eCmsContext();}
<script type="text/javascript" lang="javascript">
function togglesDiv() {
var catdiv = document.getElementById("addNewCat");
catdiv.style.display = "none";
if (catdiv.style.display == "") {
catdiv.style.display = "none";
}
else {
catdiv.style.display = "";
}
}
</script>
<script type="text/javascript" lang="javascript">
function togglesDivClose() {
var catdiv = document.getElementById("addNewCat");
catdiv.style.display = "none";
}</script>
<section class="featured">
<div id="addNewCat" style="display: none; height: 800px; background: #777cdc; padding: 110px">
<div style="float: right">
<a href="#CLIENTS"><span onclick="togglesDivClose();" style="background: #777cdc;">
<img width="30" height="30" src="~/back.png" /></span></a>
</div>
<div style="float: left">
@foreach (var item in db.Clients.ToList()){
<a href="#ClientD"><span onclick="togglesDiv()">
@* HERe -i want to display projects of selected client in div[named clints] */
</a>}
</div>
</div>
<a name="ClientD"></a>
</section>
<div id="clients" style="padding: 5px; border: solid 1px #ff6a00; height: 800px; width: 970px; margin: 10px">
@foreach (var item in db.Clients.ToList())
{
<a href="#ClientD"><span onclick="togglesDiv()&GetID()" >
<img src="http://xyz.com/uploads/images/small/@Html.DisplayFor(clientItem => item.ImageFile.FileName)" width="150" height="150" /></span></a>
}
- togglediv()是创建新的div [命名addNewCat]里面的div图像点击
- togglediv() is to create new div[named addNewCat] on click of image inside div
code 客户端的控制...
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using eCms.Models;
namespace MidasNext.Controllers
{
public class ClientsController : Controller
{
private eCmsContext db = new eCmsContext();
//
// GET: /Clients/
public ActionResult Index()
{
var clients = db.Clients.Include(c => c.Address).Include(c => c.ImageFile);
return View(clients.ToList());
}}}
您好
frnds我请大家帮忙米,宽来解决这个问题的 MVC AJAX
问题的详细解释
* V有一个div(ID =客户端)可显示客户端列表(图像或标识的)。
如果图片的网络用户点击就应该创建一个新的div(ID = addNewcat)........(有一点是可以正常使用)
*v have a div (id=clients) which displays clients list(images or logo's). if web user click on image then it should create a new div(id=addNewcat)........(This much is working perfectly)
但现在?这个新创建的分区(ID = addNewcat)我想显示选定的客户端的项目。
BUt now ??? on this newly created div(id=addNewcat) i want to display projects of selected client.
感谢名单提前....:)
Thanx in advance....:)
推荐答案
创建一个AJAX方法,去到一个控制器方法返回的局部视图。在AJAX回调函数您的div的内容设置为结果,沿着线的东西:
Create an AJAX method which goes to a controller method returning a partial view. In the AJAX callback function you set the content of your div to the result, something along the lines of:
$.get('/controller/method', { ID: ID },
function (result) {
$('#yourDiv').html(result);
});
这篇关于Asp.net MVC AJAX - 如何利用AJAX访问数据吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!