ASPXエンジン
検索ボタン付きのWebフォームがあります。ユーザーがユーザーIDを入力し、テーブルにデータを入力するとします。
ユーザーが数字以外のものを入力すると、数字だけを伝えるメッセージが表示されるはずです。
ユーザーがフィールドを空白のままにして、検索ボタンを押した場合。結果/クラスが見つかりませんでした。表示されるはずです。
私が抱えている問題は、テキストフィールドに何を入力しても、データがテーブルに入力されることです。
html
<div align="center">
<form id="searchUser" method="post" action="Search">
<table align="center">
<tr>
<td class="label">
Enter ID:
</td>
<td>
<input type="text" name="UserId" id="UserId" value="<%=(string)(ViewBag.userid)%>" />
</td>
</tr>
<tr>
<td>
<button class="searchButton" id="searchButton">Search</button>
</td>
</tr>
</table>
</form>
</div>
<hr />
<% if (ViewBag.searchClass !=null)
{ %>
<h2>Search Resuls</h2>
<br />
<%AAlexUsers.Models.SearchClass searchClassList= ViewBag.searchClass;%>
<table>
<tr>
<td>
UserID:
</td>
<td class="content">
<%=searchClassList.userId%>
</td>
</tr>
<tr>
<td>
Email:
</td>
<td class="content">
<%=searchClassList.email%>
</td>
</tr>
<tr>
<td>
Last Four Digits:
</td>
<td class="content">
<%=searchClassList.lastFourdigits%>
</td>
</tr>
</table>
<%} else %>
<%{ %>
<h2>No Class found.</h2>
<%} %>
コントローラ
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View();
}
public ActionResult About()
{
return View();
}
public ActionResult Search()
{
string userId = Request["UserId"];
bool view = false;
if (Request["UserId"] == null)
{
view = true;
}
if (!view)
{
AAlexUsers.Models.SearchClass searchClass = new Models.SearchClass();
{
searchClass.lastFourdigits = "2222";
searchClass.userId = userId;
searchClass.email = "diaz@gmail.com";
string lastFourdigits = searchClass.lastFourdigits;
string userIdd = searchClass.userId;
string email = searchClass.email;
ViewBag.searchClass = searchClass;
ViewBag.lastFourdigits = lastFourdigits;
ViewBag.userId = userIdd;
ViewBag.email = email;
}
}
return View();
}
}
モデル
public class SearchClass
{
public string userId { get; set; }
public string email { get; set; }
public string lastFourdigits { get; set; }
public SearchClass()
{
userId = "";
email = "";
lastFourdigits = "";
}
}