我正在使用有序列表设计来制作我的推特应用程序来查看推文。每次我调用ajax插入时,它都会将ajax链接的另一个副本放在页面上。我只是想从控制器中获取下一组推文,并插入它们,使其排列整齐。我试着移动标签,但额外的ajax按钮不断出现。
我以为这是一个css问题,就把它全部去掉了。这不是问题所在。我将不得不再次重新格式化我的列表,以便在代码块之前和之后放置关闭和打开标记。
我只是试着把它放在一个局部视图中,然后把ajax代码放在布局中。
Ajax操作链接
@Ajax.ActionLink("Update Tweets", "Index", "Home",
new AjaxOptions
{
UpdateTargetId = "TweetBox",
InsertionMode = InsertionMode.InsertBefore,
HttpMethod = "Get",
})
部分视图
<div id="TweetBox">
<div class="TwitterMessageBox">
<ol>
<li class="TweetLineBody">
@foreach (var item in Model)
{
@Html.Hidden(item.StatusId, item.StatusId)
<div class="TwitProfileImage">
<img src=@Url.Content(item.ImageUrl) alt="@item.ScreenName" />
</div>
<div class="TwitRealName">
@item.User
</div>
<div class="TwitNickName">
@MvcHtmlString.Create(@Html.Namify(@item.ScreenName))
</div>
<div class="TweetText">
@MvcHtmlString.Create(@item.Tweet)</div>
<div class="TweetTime">
@Html.RelativeDate(@item.Created)</div>
<div class="TweetRating">
Rating</div>
}
</li>
</ol>
</div>
</div>
控制器只是主页/索引上的一个基本可枚举列表
这就是的行为
假设您有一个ajax调用,它从控制器操作中获取数据。它在targetid之前插入一个div id。
初始视图是完美的
AJAX UPDATE HTML LINK//点击它让控制器调用AJAX并获取数据
Tweet 1
Tweet 2
etc=其完美且对齐的
你点击网页中的Ajax操作链接,它会出去获取数据,但会添加第二个类似的链接
AJAX更新HTML链接
AJAX更新HTML链接
Tweet 1
Tweet 2//对齐仍然很完美,但您有第二个ajax链接
现在第三次单击ajax链接//对齐仍然很完美,但您在顶部有第二个ajax链接和一个夹在中间的
AJAX更新HTML链接
AJAX更新HTML链接
Tweet 1
Tweet 2
//对齐仍然很完美,但您在顶部有第二个ajax链接和一个夹在中间的
加上推特结果
AJAX更新HTML链接
Tweet 1
Tweet 2//对齐仍然很完美,但在顶部有第二个ajax链接,在2/3 之间插入了第三个列表
每个请求的控制器代码:
public class HomeController : Controller
{
//
// GET: /Home/
private TwitterContext twitterCtx;
public ActionResult Index()
{
twitterCtx = new TwitterContext();
List<TweetViewModel> friendTweets = (from tweet in twitterCtx.Status
where tweet.Type == StatusType.Public
select new TweetViewModel
{
ImageUrl = tweet.User.ProfileImageUrl,
UserId = tweet.UserID,
User = tweet.User.Name,
ScreenName = tweet.User.Identifier.ScreenName,
StatusId = tweet.StatusID,
Tweet = HomeController.AddWebAndTwitterLinks(tweet.Text),
Created = tweet.CreatedAt
})
.ToList();
return View(friendTweets);
}
My Desired Behavior是调用控制器的1个ajax链接,数据插入
在没有看到所有代码的情况下,我只能假设您没有对视图进行排序。您的控制器似乎正在返回完整的"索引"视图。如果您将tweet框放入部分视图中,那么ajax操作需要返回该部分视图。