📄 jobsearch.aspx.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using JobSiteStarterKit.BOL;
public partial class jobsearch_aspx : Page
{
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
//如果当前行是标准行。
if (e.Row.RowType == DataControlRowType.DataRow)
{
//定位到链接按钮。
LinkButton b = (LinkButton)e.Row.Cells[4].Controls[0];
//设置链接钮的CommandName和CommandArgument
b.CommandName = "viewdetails";
b.CommandArgument = GridView1.DataKeys[e.Row.RowIndex].Value.ToString();
}
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "viewdetails")
{
Response.Redirect("~/" + ConfigurationManager.AppSettings["jobseekerfolder"] + "/viewjobposting.aspx?id=" + e.CommandArgument);
}
}
protected void Page_Load(object sender, EventArgs e)
{
//判断指定用户是否属于jobseeker角色
if (!Roles.IsUserInRole(ConfigurationManager.AppSettings["jobseekerrolename"]))
{
Response.Redirect("~/customerrorpages/NotAuthorized.aspx");
}
if (!Page.IsPostBack)
{
//填充国家下拉列表框
FillCountries();
//填充省份下拉列表框
FillStates();
//调用JobPosting类的GetJobPostingCount静态方法显示工作职位总数
lblJobCount.Text = "(当前有 " + JobPosting.GetJobPostingCount() + " 个工作职位!)";
//判断是否传递了指定的查询字符串,如果有的话则获取传递来的查询字符串
if (Request.QueryString["mysearchid"] != null)
{
//使用查询字符串作为参数,调用MySearch类的GetMySearch方法
MySearch s=MySearch.GetMySearch(int.Parse(Request.QueryString["mysearchid"]));
txtSkills.Text = s.Criteria;
txtCity.Text = s.City;
//将国家下拉列表框选中为指定的ID
ddlCountry.SelectedIndex = s.CountryID;
//当国家变化时,需要重新填充省份。
FillStates();
ListItem li= ddlState.Items.FindByValue(s.StateID.ToString());
if (li != null)
{
ddlState.ClearSelection();
//将省份值选中指定的值
li.Selected = true;
}
}
}
}
private void FillCountries()
{
ddlCountry.DataSource = Country.GetCountries();
ddlCountry.DataTextField = "CountryName";
ddlCountry.DataValueField = "CountryID";
ddlCountry.DataBind();
}
private void FillStates()
{
ddlState.DataSource = State.GetStates(int.Parse(ddlCountry.SelectedValue));
ddlState.DataTextField = "StateName";
ddlState.DataValueField = "StateID";
ddlState.DataBind();
}
protected void ddlCountry_SelectedIndexChanged(object sender, EventArgs e)
{
FillStates();
}
protected void btnSearch_Click(object sender, EventArgs e)
{
BindGrid();
}
/// <summary>
/// 搜索职位并绑定到GridView控件
/// </summary>
private void BindGrid()
{
int countryid = -1, stateid = -1;
if (ddlCountry.SelectedItem != null)
countryid = int.Parse(ddlCountry.SelectedValue);
if (ddlState.SelectedItem != null)
stateid = int.Parse(ddlState.SelectedValue);
//调用JobPosting.SearchJobs静态方法执行搜索
DataSet ds = JobPosting.SearchJobs(txtSkills.Text, countryid, stateid);
GridView1.DataSource = ds;
GridView1.DataBind();
if (GridView1.Rows.Count <= 0)
{
lblMsg.Text = "没有记录!";
}
else
{
lblMsg.Text = "";
}
}
protected void btnCancel_Click(object sender, EventArgs e)
{
Response.Redirect("~/default.aspx");
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
//将页码设置为下一页的页码
GridView1.PageIndex = e.NewPageIndex;
//重新建行数据绑定
BindGrid();
}
protected void btnMySearches_Click(object sender, EventArgs e)
{
//向MySearch中添加一个新的搜索器
MySearch s = new MySearch();
s.Criteria = txtSkills.Text;
s.CountryID = int.Parse(ddlCountry.SelectedValue);
s.StateID = int.Parse(ddlState.SelectedValue);
s.City = txtCity.Text;
//从个性化属性中获取用户名
s.UserName = Profile.UserName;
//插入一个新的记录到MySearch表。
MySearch.Insert(s);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -