0

ケース:私のアプリケーションには次のモジュールが含まれています

  • クライアント
  • プロジェクト
  • 業務連絡等

クライアント モジュールのコード

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";
    }
}}

Views/Shared/clients/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 を作成します。

クライアント制御のコード...

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=clients) があります。Web ユーザーが画像をクリックすると、新しい div(id=addNewcat)........(これは完全に機能しています)

でも今 ???この新しく作成された div(id=addNewcat) で、選択したクライアントのプロジェクトを表示したいと考えています。

事前にサンクス.... :)

4

1 に答える 1

0

部分ビューを返すコントローラー メソッドに移動する AJAX メソッドを作成します。AJAX コールバック関数では、div の内容を次のように結果に設定します。

$.get('/controller/method', { ID: ID },
            function (result) {                
                $('#yourDiv').html(result);
            });
于 2013-02-08T08:34:24.320 に答える