c# - 下拉列表 选择索引 如果没有用户输入则默认
问题描述
如果用户选择 6 个选项之一,我有一个下拉列表可以正常工作。但是,如果由于第一个选项是必需的而未采取任何操作,则所选值将保持空白。
我试图设置默认选择值并通过 Stack Overflow 搜索其他解决方案。代码项目等,但没有任何效果。这可能是我的代码中的基本内容!
static string prevPage = String.Empty;
protected void Page_Load(object sender, EventArgs e)
{
FileUpload1.Attributes["multiple"] = "multiple";
txtUN.Text = Request.QueryString["SVCCNo"];
lblid.Text = Session["username"].ToString();
txtCID.Text = Request.QueryString["CID"];
lblCID.Text = Request.QueryString["CID"];
lblSeparator.Text = " - ";
lblLocation.Text = Request.QueryString["LName"];
lblAssetName.Text = Request.QueryString["SVCCIDName"];
if (!IsPostBack)
{
prevPage = Request.UrlReferrer.ToString();
}
}
protected void Upload(object sender, EventArgs e)
{
string conn = ConfigurationManager.ConnectionStrings["SVCCAssetsDb"].ConnectionString;
SqlConnection sqlcon = new SqlConnection(conn);
sqlcon.Open();
//lblType.Text = "1";
for (int i = 0; i < Request.Files.Count; i++)
{
//move lbl inside loop
int uniquenuumber = Convert.ToInt32(txtUN.Text);
HttpPostedFile postedFile = Request.Files[i];
if (postedFile.ContentLength > 0)
{
//lblType.Text = txtType.Text;
int txttype = 1;
txttype = Convert.ToInt32(lblType.Text);
string userid = lblid.Text;
string fileName = Path.GetFileName(postedFile.FileName);
postedFile.SaveAs(Server.MapPath("~/Attachment/") + fileName);
lblMessage.Text += string.Format("<b>{0}</b> uploaded.<br />", fileName);
string sqlquery = "INSERT INTO Attachment (UserName, FilePath, UniqueNumber, TypeCode) VALUES ('" + userid + "', + '" + fileName + "', + '" + uniquenuumber + "', '" + txttype + "')";
SqlCommand sqlcmd = new SqlCommand(sqlquery, sqlcon);
sqlcmd.ExecuteNonQuery();
}
}
sqlcon.Close();
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
var selectedValue = ((DropDownList)sender).SelectedValue;
if (!string.IsNullOrEmpty(txtType.Text))
txtType.Text = selectedValue;
lblType.Text = txtType.Text;
}
protected void btnReturn_Click(object sender, EventArgs e)
{
Response.Redirect(prevPage);
}
}
aspx 代码:
多文件上传
文件必须是所有相同类型例如照片
在选择要上传的文件之前选择文件类型
否则选择的文件将被清除清除
解决方案
根据我的猜测,没有前面的代码:
您对这条线有问题:
int txttype = 1;
txttype = Convert.ToInt32(lblType.Text);
这是因为如果您不从下拉列表中选择另一个项目,则您的标签不会更新,因此会产生问题?
如果是这样(否则只是解释我错在哪里)
您可以在页面加载时对标签类型进行第一次初始化(在 !Page.IsPostBack 条件中!!)
lblType.Text = "Your Default value as string";
实际上,只有在您更改下拉菜单时才会触发选择索引更改事件,在这种情况下,如果您停留在第一项,则不会触发。
但也许还有别的东西,让我们先试试吧!:)
推荐阅读
- javascript - 从输入中提取文本内的子字符串并将文本存储在文件夹/目录中
- ruby-on-rails - 这种情况下的 HTTP 状态码(400 或 422)
- python - 使用 Selenium 获取“ul”标签内的文本?
- javascript - 显示所有项目后如何禁用显示更多按钮?分页 API
- c++ - 在 Node.js 中构建和使用 Node.js 的 C(++) 核心依赖项
- postgresql - Postgresql 9.3 副本存档文件夹文件不断添加到主服务器中
- java - UTF-8 编码的问题 - web-project
- c# - DBContext更改后如何在控制器内创建新的UserManager对象
- java - 为什么我不能在 Java 中修改变量而是数组?
- amazon-web-services - ec2实例RDP突然无法连接