我正在使用有序列表设计来制作我的推特应用程序来查看推文。每次我调用 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>
控制器只是 Home/Index 上的一个基本可枚举列表
这是行为
假设您有一个从控制器操作中获取数据的 ajax 调用。它在一个 div id 的 targetid 之前插入。
初步的看法是完美的
AJAX UPDATE HTML LINK // 点击它让控制器调用 ajax 并获取数据
推文 1
推文 2
等 = 它的完美和对齐
您单击网页中的 Ajax 操作链接,它会出去并获取数据,但会像这样添加第二个
AJAX 更新 HTML 链接
AJAX 更新 HTML 链接
推文 1
Tweet 2 // 对齐仍然是完美的,但你有第二个 ajax 链接
现在第三次单击 ajax 链接 // 对齐仍然是完美的,但是您在顶部有第二个 ajax 链接,一个夹在中间
AJAX 更新 HTML 链接
AJAX 更新 HTML 链接
推文 1
Tweet 2
// 对齐仍然是完美的,但是您在顶部有第二个 ajax 链接,一个夹在中间
加上推文结果
AJAX 更新 HTML 链接
推文 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);
}
我期望的行为是调用控制器和数据插入的 1 个 ajax 链接