温馨提示:代码在线浏览功能只能做为源码浏览参考,不能展示项目的全部,如果想更进一步了解该代码请下载:人才网初学者工具包源码
当前文件路径:JobSiteStarterKit/jobseeker/jobsearch.aspx.cs

1using System; 2
using System.Data; 3
using System.Configuration; 4
using System.Web; 5
using System.Web.Security; 6
using System.Web.UI; 7
using System.Web.UI.WebControls; 8
using System.Web.UI.WebControls.WebParts; 9
using System.Web.UI.HtmlControls; 10
using JobSiteStarterKit.BOL; 11
12
public partial class jobsearch_aspx : Page 13
{ 14
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 15
{ 16
//如果当前行是标准行。 17
if (e.Row.RowType == DataControlRowType.DataRow) 18
{ 19
//定位到链接按钮。 20
LinkButton b = (LinkButton)e.Row.Cells[4].Controls[0]; 21
//设置链接钮的CommandName和CommandArgument 22
b.CommandName = "viewdetails"; 23
b.CommandArgument = GridView1.DataKeys[e.Row.RowIndex].Value.ToString(); 24
} 25
} 26
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 27
{ 28
if (e.CommandName == "viewdetails") 29
{ 30
Response.Redirect("~/" + ConfigurationManager.AppSettings["jobseekerfolder"] + "/viewjobposting.aspx?id=" + e.CommandArgument); 31
} 32
} 33
34
protected void Page_Load(object sender, EventArgs e) 35
{ 36
//判断指定用户是否属于jobseeker角色 37
if (!Roles.IsUserInRole(ConfigurationManager.AppSettings["jobseekerrolename"])) 38
{ 39
Response.Redirect("~/customerrorpages/NotAuthorized.aspx"); 40
} 41
42
if (!Page.IsPostBack) 43
{ 44
//填充国家下拉列表框 45
FillCountries(); 46
//填充省份下拉列表框 47
FillStates(); 48
//调用JobPosting类的GetJobPostingCount静态方法显示工作职位总数 49
lblJobCount.Text = "(当前有 " + JobPosting.GetJobPostingCount() + " 个工作职位!)"; 50
//判断是否传递了指定的查询字符串,如果有的话则获取传递来的查询字符串 51
if (Request.QueryString["mysearchid"] != null) 52
{ 53
//使用查询字符串作为参数,调用MySearch类的GetMySearch方法 54
MySearch s=MySearch.GetMySearch(int.Parse(Request.QueryString["mysearchid"])); 55
txtSkills.Text = s.Criteria; 56
txtCity.Text = s.City; 57
//将国家下拉列表框选中为指定的ID 58
ddlCountry.SelectedIndex = s.CountryID; 59
//当国家变化时,需要重新填充省份。 60
FillStates(); 61
ListItem li= ddlState.Items.FindByValue(s.StateID.ToString()); 62
if (li != null) 63
{ 64
ddlState.ClearSelection(); 65
//将省份值选中指定的值 66
li.Selected = true; 67
} 68
} 69
} 70
} 71
72
private void FillCountries() 73
{ 74
ddlCountry.DataSource = Country.GetCountries(); 75
ddlCountry.DataTextField = "CountryName"; 76
ddlCountry.DataValueField = "CountryID"; 77
ddlCountry.DataBind(); 78
} 79
80
private void FillStates() 81
{ 82
ddlState.DataSource = State.GetStates(int.Parse(ddlCountry.SelectedValue)); 83
ddlState.DataTextField = "StateName"; 84
ddlState.DataValueField = "StateID"; 85
ddlState.DataBind(); 86
} 87
88
protected void ddlCountry_SelectedIndexChanged(object sender, EventArgs e) 89
{ 90
FillStates(); 91
} 92
protected void btnSearch_Click(object sender, EventArgs e) 93
{ 94
BindGrid(); 95
} 96
/// <summary> 97
/// 搜索职位并绑定到GridView控件 98
/// </summary> 99
private void BindGrid() 100
{ 101
int countryid = -1, stateid = -1; 102
if (ddlCountry.SelectedItem != null) 103
countryid = int.Parse(ddlCountry.SelectedValue); 104
if (ddlState.SelectedItem != null) 105
stateid = int.Parse(ddlState.SelectedValue); 106
//调用JobPosting.SearchJobs静态方法执行搜索 107
DataSet ds = JobPosting.SearchJobs(txtSkills.Text, countryid, stateid); 108
GridView1.DataSource = ds; 109
GridView1.DataBind(); 110
if (GridView1.Rows.Count <= 0) 111
{ 112
lblMsg.Text = "没有记录!"; 113
} 114
else 115
{ 116
lblMsg.Text = ""; 117
} 118
} 119
120
protected void btnCancel_Click(object sender, EventArgs e) 121
{ 122
Response.Redirect("~/default.aspx"); 123
} 124
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 125
{ 126
//将页码设置为下一页的页码 127
GridView1.PageIndex = e.NewPageIndex; 128
//重新建行数据绑定 129
BindGrid(); 130
} 131
132
protected void btnMySearches_Click(object sender, EventArgs e) 133
{ 134
//向MySearch中添加一个新的搜索器 135
MySearch s = new MySearch(); 136
s.Criteria = txtSkills.Text; 137
s.CountryID = int.Parse(ddlCountry.SelectedValue); 138
s.StateID = int.Parse(ddlState.SelectedValue); 139
s.City = txtCity.Text; 140
//从个性化属性中获取用户名 141
s.UserName = Profile.UserName; 142
//插入一个新的记录到MySearch表。 143
MySearch.Insert(s); 144
} 145
146
} 147





}
}