starting to break out some Ajax crap, wheeeeee
This commit is contained in:
parent
32e17c6754
commit
7ac24fb0e9
@ -322,3 +322,7 @@ div#title {
|
||||
.tri-state {
|
||||
width: 6em;
|
||||
}
|
||||
|
||||
#qsvars {
|
||||
display: none;
|
||||
}
|
@ -20,20 +20,30 @@ namespace TwitterPractice.Controllers
|
||||
ViewBag.HasQsVars = (Request.QueryString.Keys.Count > 0);
|
||||
ViewBag.QueryString = Request.QueryString;
|
||||
ViewBag.Message = title;
|
||||
string username = Request.QueryString["username"];
|
||||
if (null == username)
|
||||
{
|
||||
ViewBag.UserTimeline = null;
|
||||
ViewBag.Username = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
ViewBag.UserTimeline = _twitterModels.GetTwitterStream(username);
|
||||
ViewBag.Username = username;
|
||||
}
|
||||
|
||||
return View();
|
||||
}
|
||||
|
||||
|
||||
public ActionResult UserTimelineFragment()
|
||||
{
|
||||
string username = Request.QueryString["username"];
|
||||
if (null == username)
|
||||
{
|
||||
return new HttpNotFoundResult("you must provide a username, derp.");
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
ViewBag.UserTimeline = _twitterModels.GetTwitterStream(username);
|
||||
ViewBag.Username = username;
|
||||
return View();
|
||||
}
|
||||
catch (System.SystemException e)
|
||||
{
|
||||
return new HttpNotFoundResult("FAIL: " + e.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ namespace TwitterPractice.Models
|
||||
requestTemplate = ConfigurationManager.AppSettings["TwitterRequestTemplate"];
|
||||
}
|
||||
|
||||
public JArray GetTwitterStream(string username = "meatballhat")
|
||||
public JArray GetTwitterStream(string username)
|
||||
{
|
||||
string requestUrl = String.Format(requestTemplate, username);
|
||||
WebClient req = new WebClient();
|
||||
|
6
TwitterPractice/TwitterPractice/Scripts/Site.js
Normal file
6
TwitterPractice/TwitterPractice/Scripts/Site.js
Normal file
@ -0,0 +1,6 @@
|
||||
$(function () {
|
||||
$('#user-timeline-form').submit(function () {
|
||||
$('#user-timeline').load('/Home/UserTimelineFragment?username=' + $('#username-input').attr('value'));
|
||||
return false;
|
||||
});
|
||||
});
|
@ -75,6 +75,7 @@
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Scripts\Site.js" />
|
||||
<Content Include="Content\themes\base\images\ui-bg_flat_0_aaaaaa_40x100.png" />
|
||||
<Content Include="Content\themes\base\images\ui-bg_flat_75_ffffff_40x100.png" />
|
||||
<Content Include="Content\themes\base\images\ui-bg_glass_55_fbf9ee_1x400.png" />
|
||||
@ -150,6 +151,9 @@
|
||||
<ItemGroup>
|
||||
<Content Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Views\Home\UserTimelineFragment.cshtml" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
|
@ -1,37 +1,22 @@
|
||||
@using Newtonsoft.Json.Linq;
|
||||
@{ViewBag.Title = "Home Page";}
|
||||
|
||||
<form action="" method="get">
|
||||
<form id="user-timeline-form" action="" method="get">
|
||||
<label for="username-input">username:</label>
|
||||
<input type="text" id="username-input" name="username" />
|
||||
<input type="submit" name="submit" value="Submit" />
|
||||
<input type="submit" name="submit" value="Show User Timeline" />
|
||||
</form>
|
||||
|
||||
<h2>@ViewBag.Message</h2>
|
||||
@if (ViewBag.HasQsVars)
|
||||
{
|
||||
<h3>Request Variables:</h3>
|
||||
<ul>
|
||||
@foreach (string key in ViewBag.QueryString)
|
||||
{
|
||||
<li>@key = @ViewBag.QueryString[key]</li>
|
||||
}
|
||||
</ul>
|
||||
<div id="qsvars">
|
||||
<h3>Request Variables:</h3>
|
||||
@foreach (string key in ViewBag.QueryString)
|
||||
{
|
||||
<p class="qsvar">@key = @ViewBag.QueryString[key]</p>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (null != ViewBag.Username)
|
||||
{
|
||||
<div id="user-timeline">
|
||||
<h4>user timeline for @ViewBag.Username</h4>
|
||||
|
||||
|
||||
<ul id="timeline-entries">
|
||||
@foreach (JObject entry in ViewBag.UserTimeline)
|
||||
{
|
||||
<li class="timeline-entry">
|
||||
@entry["text"]
|
||||
</li>
|
||||
}
|
||||
</ul>
|
||||
</div>
|
||||
}
|
||||
<div id="user-timeline"></div>
|
@ -0,0 +1,19 @@
|
||||
@using Newtonsoft.Json.Linq;
|
||||
@{
|
||||
Layout = null;
|
||||
}
|
||||
|
||||
@if (null != ViewBag.Username)
|
||||
{
|
||||
<div id="user-timeline-inner">
|
||||
<h4>user timeline for @ViewBag.Username</h4>
|
||||
<ul id="timeline-entries">
|
||||
@foreach (JObject entry in ViewBag.UserTimeline)
|
||||
{
|
||||
<li class="timeline-entry">
|
||||
@entry["text"]
|
||||
</li>
|
||||
}
|
||||
</ul>
|
||||
</div>
|
||||
}
|
@ -6,6 +6,7 @@
|
||||
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
|
||||
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
|
||||
<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>
|
||||
<script src="@Url.Content("~/Scripts/Site.js")" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="page">
|
||||
|
Loading…
Reference in New Issue
Block a user