PDA

View Full Version : سوال: مشکل در استفاده از partialview و RenderAction



gama_slv
پنج شنبه 16 مهر 1394, 12:21 عصر
باید فرم زیر رو درست کنم
135855
گروه خبر و لیست خبر ها


آیا میشه به RenderAction پارامتر اسال کرد من نتونسم به پارشیال وی و RenderAction پارامتر id گروه خبر رو بفرستم Html.RenderAction("GroupBy","Home","1")

این ها کد این بخش



public class News

public int NewsID { get; set; }
public int GroupNewsID { get; set; }
public DateTime NewsDate { get; set; }
public string NewsTitle { get; set; }
public string NewsShort { get; set; }
public string NewsSummery { get; set; }
public string ImageNews { get; set; }
public string ThumbnailNews { get; set; }
public virtual GroupNews GroupNews { get; set; }


public class GroupNews
{
public int GroupNewsID { get; set; }
public string Title { get; set; }
public virtual ICollection<News> News { get; set; }
}
ViewModel
public class NewsGroupViewModel
{
public IEnumerable<GroupNews> GroupNews { get; set; }
public IEnumerable<News> News { get; set; }
}



control
public ActionResult GroupBy(int? id)
{
var Newsi = db.News.Where(m => m.GroupNewsID == id);
var Gnews = db.GroupNews.Where(m => m.GroupNewsID == id);
var model = new NewsGroupViewModel()
{
News = Newsi,
GroupNews = Gnews
};

return View(model);
}

partial view

@model Collection_IKF.Models.NewsGroupViewModel


@foreach (var iprod in Model.News)
{
@iprod.NewsTitle
}

@foreach (var Igroup in Model.GroupNews)
{
@Igroup.Title
}


view defult

@{Html.RenderAction("GroupBy","Home");}

gama_slv
پنج شنبه 16 مهر 1394, 16:07 عصر
مشکل حل شد شاید راه حل های بهتری هم باشه ولی کد زیر مشکل من رو حل کرد.

control

public ActionResult GroupBy(int? id ) {
var Newsi = db.News.Where(m => m.GroupNewsID == id);
var Gnews = db.GroupNews.Where(m => m.GroupNewsID == id);
var model = new NewsGroupViewModel()
{
News = Newsi,
GroupNews = Gnews
};


return View(model);
}

view

<div> <ul>
<li>
@{Html.RenderAction("GroupBy", "Home", new { id = 1 });}
</li>
<li>
@{Html.RenderAction("GroupBy", "Home", new { id = 2 });}
</li>
<li>
@{Html.RenderAction("GroupBy", "Home", new { id = 3 });}
</li>
</ul>


</div>