类似的问题,第三次求救~

wang_jf411 2009-08-19 10:36:55
其实,丫根前台用JS 或者 AJAX写入到服务器控件中的值,在后台不认。

怎么来解决这个问题?
...全文
164 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
shankaipingo 2009-08-19
  • 打赏
  • 举报
回复
:)
wang_jf411 2009-08-19
  • 打赏
  • 举报
回复
兄弟,真是感谢你了 shankaipingo
shankaipingo 2009-08-19
  • 打赏
  • 举报
回复
汗.你是想做二级联动吧.LISTBOX吓我一跳.
MS有1处错误:
1. var o_option = document.createElement("OPTION") ;
o_option.value = v.Tables[0].Rows[i].SmallClassName;
o_option.text = v.Tables[0].Rows[i].SmallClassName;
document.all("select1").add(o_option) ; 这里没有select1控件啊

我试一下
strSmallClassName = this.Request.Form["SmallClass"]是可以取到值滴!!!!


wang_jf411 2009-08-19
  • 打赏
  • 举报
回复
upload.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
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 System.Data.OleDb;
using System.IO;


public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default)); //必要的
if (!IsPostBack) BindDc();
}

/// <summary>
/// 数据库连接
/// </summary>
/// <returns></returns>
public OleDbConnection myConn()
{
//string ConnectionStr = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + Server.MapPath(System.Configuration.ConfigurationSettings.AppSettings["ConnectionStr"].ToString());//从Web.config文件中获取数据库连接字符串
string ConnectionStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["ConnectionStr"]);

OleDbConnection AccessConnection = new OleDbConnection(ConnectionStr);
try
{
AccessConnection.Open();
return AccessConnection;
}
catch
{
throw;
}
}

/// <summary>
/// 获取下级分类
/// </summary>
[AjaxPro.AjaxMethod]
public DataSet getNextClass(string cid)
{
//因为不希望页面可以知道字段名称 所以 as txt,id as vol 如果是sql ser 可以用 =
//页面获取的 列名称 必须跟这个一同样 而且区分大小写 一般都是这个地方容易疏忽了
//所以二级分类没变化
string sql = @"select SmallClassName from Class where lb = '1' and BigClassName = '" + cid + "'";
try
{
return getDs(sql);
}
catch
{
//throw;
return null;
}
}


/// <summary>
/// 返回一个DataSet
/// </summary>
/// <param name="SQL"></param>
/// <returns></returns>
public DataSet getDs(string SQL)
{
OleDbConnection conn = myConn();
DataSet Ds = new DataSet();
OleDbDataAdapter Da = new OleDbDataAdapter(SQL, conn);
try
{
Da.Fill(Ds);
int k = Ds.Tables[0].Rows.Count;
return Ds;
}
catch(Exception ee)
{
string aa = ee.Message;
return null;
//throw;
}

}
/// <summary>
/// //数据绑定
/// </summary>
private void BindDc()
{
//第一个
string sql = @"select BigClassName from Class where lb = '0' order by Id";
BigClass.DataSource = getDs(sql);
BigClass.DataTextField = "BigClassName";
BigClass.DataValueField = "BigClassName";
BigClass.DataBind();
if (BigClass.DataSource != null) BigClass.Attributes.Add("onchange", "showNext(this.options[selectedIndex].value,'SmallClass');");


//可以先判断 DropDownList.SelectedItem.Value
//第二个
sql = @"select SmallClassName from Class where lb = '1' and BigClassName = '" + BigClass.SelectedItem.Value + "'"; ;
SmallClass.DataSource = getDs(sql);
SmallClass.DataTextField = "SmallClassName";
SmallClass.DataValueField = "SmallClassName";
SmallClass.DataBind();

}


protected void UpFile_Click(object sender, EventArgs e)
{
if (FilePath.Value == "")
{
Response.Write("<SCRIPT language='JavaScript'>alert('请选择上传文件本地路径'); </SCRIPT>");

}
//else if (BigClass.SelectedItem.Text == "")
//{
// Response.Write("<SCRIPT language='JavaScript'>alert('请选择类别1!'); </SCRIPT>");
//}
//else if (SmallClass.SelectedItem.Text == "")
//{
// Response.Write("<SCRIPT language='JavaScript'>alert('请选择类别12!'); </SCRIPT>");
//}
else
{
string strFilePath, strFileName, strFileExe, strFileSize, strUpDate, strBigClassName, strSmallClassName;

string[] strFileArray;
strFileArray = FilePath.PostedFile.FileName.ToString().Split('\\');
strFileName = strFileArray[strFileArray.Length - 1].ToString();//文件名
strFilePath = "upload/" + BigClass.SelectedValue.ToString() + "/" + SmallClass.SelectedValue.ToString() + "/";//上传路径
strFileExe = FilePath.PostedFile.FileName.Substring(FilePath.PostedFile.FileName.LastIndexOf(".")); //文件类型
strBigClassName =BigClass.SelectedItem.Text.ToString();//所属大类
strSmallClassName = SmallClass.SelectedItem.Text.ToString(); // this.SmallClass.DataValueField; //.Attributes("load(this.options[this.selectedIndex].value)"); //SmallClass.SelectedValue; // SmallClass.SelectedItem.Text.ToString();//所属小类


//int aaa = System.Math.Round(double(10)/double(2)),2);

if (FilePath.PostedFile.ContentLength / 1024 < 1024)
{
strFileSize = ((FilePath.PostedFile.ContentLength) / 1024).ToString() + "K";//文件大小
}
else
{
strFileSize = (FilePath.PostedFile.ContentLength / 1024 / 1024).ToString() + "M";//文件大小
}

strUpDate = System.DateTime.Now.ToString();


string SqlStr = "";
string ConnectionStr = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + Server.MapPath(System.Configuration.ConfigurationSettings.AppSettings["ConnectionStr"].ToString());//从Web.config文件中获取数据库连接字符串
OleDbConnection AccessConnection = new OleDbConnection(ConnectionStr);
AccessConnection.Open();//打开数据库

SqlStr = "Select * From Files Where FileName='" + strFileName + "' And BigClass = '" + strBigClassName + "' And SmallClass = '" + strSmallClassName + "' And FileExe='" + strFileExe + "' ";
OleDbCommand AccessCommand2 = new OleDbCommand(SqlStr, AccessConnection);
OleDbDataReader AccessReader = AccessCommand2.ExecuteReader();
if (AccessReader.Read())
{//本目录下有同名同类型文件
AccessReader.Close();
AccessCommand2.Dispose();

Response.Write("<SCRIPT language='JavaScript'>alert('目录" + strFilePath + "下已经存在文件:" + strFileName + "');window.location.href='upload.aspx'; </SCRIPT>");
}
else
{
AccessReader.Close();
AccessCommand2.Dispose();

FilePath.PostedFile.SaveAs(Server.MapPath(strFilePath + strFileName));//上传文件


//写入数据库
SqlStr = "Insert Into Files(FileName,FilePath,FileExe,FileSize,FileDate,BigClass,SmallClass) values('" + strFileName + "','" + strFilePath + "','" + strFileExe + "','" + strFileSize + "','" + strUpDate + "','" + strBigClassName + "','" + strSmallClassName + "') ";
OleDbCommand AccessCommand = new OleDbCommand(SqlStr, AccessConnection);
AccessCommand.ExecuteNonQuery();
AccessCommand.Dispose();
AccessConnection.Close();

Response.Write("<SCRIPT language='JavaScript'>alert('成功上传到" + strFilePath + ",文件名为:" + strFileName + "');window.location.href='upload.aspx'; </SCRIPT>");
}
}
}
}
wang_jf411 2009-08-19
  • 打赏
  • 举报
回复
upload.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="upload.aspx.cs" Inherits="_Default" enableEventValidation="false" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>文件上传</title>

<script language="javascript" type="text/javascript">
  <!--
// ACLOUD 常用JS函数
function getBid(s){
return document.getElementById(s);
}
function getBmc(s){
return document.getElementByName(s);
}

//显示分类列表
function showNext(sid,obj)
{
if(sid==null || sid=="" || sid.length<1)
return;
var slt =getBid(obj);
var v = _Default.getNextClass(sid).value; // 类的名称
// alert(v);
//return;
if (v != null)
{
if(v != null && typeof(v) == "object" && v.Tables != null)
{
slt.length = 0;
// slt.options.add(new Option("请选择",0));
//加了个“请选择”主要为了触发onchange事件
// if(obj=="ddl2")
// {
// getBid("ddl3").options.length=0;
// getBid("ddl3").options.add(new Option("请选择",0));
// }
for(var i=0; i<v.Tables[0].Rows.length; i++)
     {
     var txt = v.Tables[0].Rows[i].SmallClassName; //这个地方需要注意区分大小写
       var vol = v.Tables[0].Rows[i].SmallClassName; //跟dataset表的列名称要一致
       slt.options.add(new Option(txt,vol));
      
       var o_option = document.createElement("OPTION") ;
o_option.value = v.Tables[0].Rows[i].SmallClassName;
o_option.text = v.Tables[0].Rows[i].SmallClassName;
document.all("select1").add(o_option) ;
      
       //document.getElementById("select1").optiona.add(new Option(txt,vol));
     }
}
}
return;
}
-->


  </script>

<style>
TABLE {
FONT-SIZE: 12px; COLOR: #333333;
}
TD {
FONT-SIZE: 12px; COLOR: black
}
.TextInput{
border: 1px solid #C0C0C0
}
</style>
</head>
<body>
<body style="padding-top:0px;" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
<form id="form1" runat="server">
<div style="margin-top:0px">

<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center border=0>
<TBODY>
<TR>
<TD style="BORDER-TOP: white 1px solid; BACKGROUND: #f0f0f0; BORDER-LEFT: white 1px solid; CURSOR: default; BORDER-BOTTOM: gray 1px solid" height=24>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR bgColor=#f0f0f0>
<TD style="height: 20px">
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD style="style: ; height: 20px;" #d4d0c8? solid border-right: colspan="3"1px>·<B>文件资料列表</B></TD>
</TR></TBODY></TABLE></TD></TR>
<TR>
<TD id=thTdTbl1
style="BORDER-RIGHT: gray 1px solid; BORDER-TOP: gray 1px solid; BORDER-LEFT: gray 1px solid; BORDER-BOTTOM: 0px; width: 76%;"
vAlign=top colSpan=2 height=450>
<DIV id=thMainDiv style="BACKGROUND: white; HEIGHT: 400px">
<DIV id=divTbl1>
</DIV>
<DIV id=divTbl2>
<table align="center" border="0" cellpadding="1" cellspacing="1" width="90%">
<tr>
<td align="left" height="7" style="font-size: 12px" width="120">
选择文件本地路径:
</td>
<td align="left" height="7" style="font-size: 12px">
<input id="FilePath" runat="server" class="textibput" type="file" />
<font face="宋体">支持上传WORD、PDF、EXCEL、DWG、JPG类型文件 </font>
</td>
</tr>
<tr>
<td align="left" style="font-size: 12px; height: 7px;" width="100">
  文件类别1:
</td>
<td align="left" style="font-size: 12px; height: 7px;">
<asp:DropDownList ID="BigClass" runat="server" Font-Size="12px" Rows="1" Width="112px">

</asp:DropDownList></td>
</tr>
<tr>
<td align="left" style="font-size: 12px; height: 17px; text-align: left;" width="100">
  文件类别2:
</td>
<td align="left" style="font-size: 12px; height: 17px">
<asp:DropDownList ID="SmallClass" runat="server" Font-Size="12px" Rows="1" Width="112px" AppendDataBoundItems="True">



</asp:DropDownList></td>
</tr>
<tr>
<td height="5">
</td>
</tr>
<tr>
<td align="left" style="font-size: 12px; height: 7px;" width="100">
</td>
<td align="left" style="font-size: 12px; height: 7px;">
 
<asp:Button ID="bt_upfile" runat="server" Text="上 传" OnClick="UpFile_Click"/></td>
</tr>
</table>
</DIV>
 
</DIV></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD height=2></TD></TR></TBODY></TABLE>

</div>
</form>
</body>
</body>
</html>
--------------------------------
wang_jf411 2009-08-19
  • 打赏
  • 举报
回复
我是要做两个LISTBOX的联动效果,因为要设置其中一个LISTBOX的autopostback=ture ,这样设置会刷新整个页面,其他的信息都没有了。

所以想到用JS或者AJAX,然后就遇到了这个问题。

求好的解决方案,最好能有CODE(⊙o⊙)哦
txg92 2009-08-19
  • 打赏
  • 举报
回复
你用JS写入值,服务器端执行事件时页面post刷新后又清空了,你后台就取不到了....,这也是执行先后问题
cceon 2009-08-19
  • 打赏
  • 举报
回复
注意页面文件的编码方式,什么GB2312啊,UTF-8啊、ANSI啊、还有服务器版本,都很重要的。
一步步排查
xierfly 2009-08-19
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 jinglecat 的回复:]
如果你用 js 调价 listbox 的 item ,服务器端从 ListBox 是取不到的!!!

说你的需求,再找方案
[/Quote]

可以变换方式去实现。
zjb211434 2009-08-19
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 jinglecat 的回复:]
如果你用 js 调价 listbox 的 item ,服务器端从 ListBox 是取不到的!!!

说你的需求,再找方案
[/Quote]

同意
wulechang 2009-08-19
  • 打赏
  • 举报
回复
把管件代码贴上来
Jinglecat 2009-08-19
  • 打赏
  • 举报
回复
如果你用 js 调价 listbox 的 item ,服务器端从 ListBox 是取不到的!!!

说你的需求,再找方案
mngzilin 2009-08-19
  • 打赏
  • 举报
回复
不会吧,你把代码贴上来看看
Pig23 2009-08-19
  • 打赏
  • 举报
回复
get页面时,cs是先于js执行的
但如果是post:首先listbox 要用服务器控件,或者html控件后加runat="server",js写进是可以获取的
Lovely_baby 2009-08-19
  • 打赏
  • 举报
回复
是不是执行的顺序有关系
是不是先执行了后代的代码
你可以后台输出一下 看看 能有结果吗
shankaipingo 2009-08-19
  • 打赏
  • 举报
回复
没明白,可以帖点代码上来吗?我用服务器端控件textbox是可以改的.后台也能认.
wang_jf411 2009-08-19
  • 打赏
  • 举报
回复
选中前面一项,后面的刷新到相应的数据啊~
zhouyanfss 2009-08-19
  • 打赏
  • 举报
回复
这个到没试过,要么你就用HTML控件好了,JS写到INPUT里,后台用request.form("keyname")获取
shankaipingo 2009-08-19
  • 打赏
  • 举报
回复
用javascript写入到LISTBOX的值
你是新增值到listbox还是更改值?
wang_jf411 2009-08-19
  • 打赏
  • 举报
回复
前台:upload.aspx 用javascript写入到LISTBOX的值
后台:upload.aspx.cs 获取不到


加载更多回复(2)
网络安全应急预案 LT (6)从事故一发生到处理事件的整个过程,必须保持向领导小组组长汇报、解释此 次事故的发生情况、发生原因、处理过程。 3、学校重大网络事件处理预案 (1)对学校重大事件(如中考信息技术考试对网络安全有特别要求的事件)进行评 估、确定所需的网络设备及环境。 (2)关闭其它与该网络相连,有可能对该网络造成不利影响的一切网络设备及计算 机设备,保障该网络的畅通。 (3)对重要网络设备提供备份,出现问题需尽快更换设备。 (4)对外网连接进行监控,清除非法连接,出现重大问题立刻向上级部门求救。 (5)事先应向领导小组汇报本次事件中所需用到的设备、环境,以及可能出现的事 故及影响,在事件过程中出现任何问题应立刻向领导小组组长汇报。 三、日常管理 1、领导小组依法发布有关消息和警报,全面组织各项网络安全防御、处理工作。各 有关组员随时准备执行应急任务。 2、网络管理员对校园内外所属网络硬件软件设备及接入网络的计算机设备定期进行 全面检查,封堵、更新有安全隐患的设备及网络环境。 3、加强对校园网内计算机设备的管理,加强对学校网络的使用者(学生和教师)的 网络安全教育。加强对重要网络设备的软件防护以及硬件防护,确保正常的运行软件硬 件环境。 4、加强各类值班值勤,保持通讯畅通,及时掌握学校情况,全力维护正常教学、工 作和生活秩序。 5、按预案落实各项物资准备。 四、网络安全事故发生后有关行动 1、领导小组得悉消防紧急情况后立即赶赴本级指挥所,各种网络安全事故处理小组 迅速集结待命。 2、应急小组成员听从组织指挥,迅速组织本级抢险防护。 (1)确保WEB网站信息安全为首要任务,学校公网连接。迅速发出紧急警报,所有相 关成员集中进行事故分析,确定处理方案。 (2)确保校内其它接入设备的信息安全:经过分析,可以迅速关闭、切断其他接入 设备的所有网络连接,防止滋生其他接入设备的安全事故。 (3)分析网络,确定事故源:使用各种网络管理工具,迅速确定事故源,按相关程 序进行处理。 (4)事故源处理完成后,逐步恢复网络运行,监控事故源是否仍然存在。 (5)针对此次事故,进一步确定相关安全措施、总结经验,加强防范。 (6)从事故一发生到处理的整个过程,必须及时向领导小组组长以及教务处以及校 长汇报,听从安排,注意做好保密工作。 3、积极做好广大师生的思想宣传教育工作,迅速恢复正常秩序,全力维护校园网安 全稳定。 4、迅速了解和掌握事故情况,及时汇总上报。 5、事后迅速查清事件发生原因,查明责任人,并报领导小组根据责任情况进行处理 。 五、其他 1、在应急行动中,学校各处室要密切配合,服从指挥,确保政令畅通和各项工作的 落实。 2、全体教职工要学习应急预案,并切实落实各项组织措施。 3、本预案从发布之日起正式施行。 中学 2015年7月3日 ----------------------- 网络安全应急预案(8)全文共7页,当前为第1页。 网络安全应急预案(8)全文共7页,当前为第2页。 网络安全应急预案(8)全文共7页,当前为第3页。 网络安全应急预案(8)全文共7页,当前为第4页。 网络安全应急预案(8)全文共7页,当前为第5页。 网络安全应急预案(8)全文共7页,当前为第6页。 网络安全应急预案(8)全文共7页,当前为第7页。
计算机病毒教学设计 教学目标:了解计算机病毒的相关知识 教学重点:了解计算机病毒的相关知识 教学难点:将学到的知识运用到现实生活中 1. 导入 师:昨天晚上李老师接到了一个朋友的求救电话,告诉我他家里的电脑出了点问题,要 我去帮忙维修,到了他家里打开电脑一看,就发现了电脑变成这个样子了(出示课件) 师问:你觉得这台电脑正常吗?什么原因呢? 学生答:病毒。 师:有人知道这个病毒叫什么名字吗?是的,这就是电脑中了赫赫有名的病毒"熊猫烧香 "造成的样子。你知道这个病毒是谁造的?这个人叫李俊,2006的时候这个人制造了这个 病毒,由于这个病毒破坏性极大,并且给社会带来了很大的影响,2007年被判刑入狱4年 。今天我们将通过本节课的学习来研究计算机病毒。 2. 新授 1. 自学计算机病毒相关知识 请同学们打开桌面名为"计算机病毒学习"幻灯片文件进行自学,5分钟后老师将通过任意 点学号的方式抽查大家的学习效果。 2. 示范竞赛提问 师:请29号同学回答,什么是计算机病毒? 师:其实计算机病毒就是人为制造的有害程序 师:接下来我们将进行有关"计算机病毒"知识竞赛,出示课件并提出要求 3. 学生再次进行阅读学习和排练 时间约10分钟,指导学生提炼问题和答案。 4. 学生展示排练效果 师:燕山小学2014年第一届"计算机病毒知识"竞赛现在开始,接下来有请XX同学和XX同 学上台展示。 5. 思考并完成课堂练习 ----------------------- 计算机病毒教学设计(1)全文共2页,当前为第1页。 计算机病毒教学设计(1)全文共2页,当前为第2页。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧