注文リストのデザインを使用して、Twitterアプリでツイートを表示しています。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呼び出しがあるとします。dividであるtargetidの前に挿入します。
最初のビューは完璧です
AJAX UPDATE HTML LINK //クリックすると、コントローラーがajaxを呼び出し、データを取得します
ツイート1
ツイート2
etc=完璧で整列している
あなたはあなたのウェブページのAjaxアクションリンクをクリックします、それは出て行ってデータを取得しますが、このような秒を追加します
AJAX UPDATE HTML LINK
AJAX UPDATE HTML LINK
ツイート1
Tweet 2 //配置はまだ完璧ですが、2番目のajaxリンクがあります
ここで、ajaxリンクを3回クリックします//アライメントはまだ完璧ですが、上部に2番目のajaxリンクがあり、1つは挟まれています
AJAX UPDATE HTML LINK
AJAX UPDATE HTML LINK
ツイート1
Tweet 2
//配置はまだ完璧ですが、上部に2番目のajaxリンクがあり、1つは挟まれています
さらに、ツイートの結果
AJAX UPDATE HTML LINK
ツイート1
Tweet 2 //配置はまだ完璧ですが、上部に2番目のajaxリンクがあり、3番目のリストが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リンクであり、データが挿入されます