Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在formview中插入忽略数据_C#_Asp.net_Sql Server - Fatal编程技术网

C# 在formview中插入忽略数据

C# 在formview中插入忽略数据,c#,asp.net,sql-server,C#,Asp.net,Sql Server,下面的aspx代码是我的asp:FormView的一部分,它是从外部数据源(这最终将反馈到一个单独的表)填充的。不允许用户直接更改文本框,但可以通过选择dropdownlist来更新文本框,这将改变文本框中的值。这段代码工作得很好 <asp:TableRow> <asp:TableCell Width="25px"> <asp:TextBox runat="server" OnTextChanged="AssetTypeTextBox_TextChanged

下面的aspx代码是我的asp:FormView的一部分,它是从外部数据源(这最终将反馈到一个单独的表)填充的。不允许用户直接更改文本框,但可以通过选择dropdownlist来更新文本框,这将改变文本框中的值。这段代码工作得很好

<asp:TableRow>
<asp:TableCell Width="25px">
    <asp:TextBox runat="server" OnTextChanged="AssetTypeTextBox_TextChanged" ID="AssetTypeTextBox" Width="25px" Readonly = "true" Text='<%#Bind("AssetType") %>' />
</asp:TableCell>
<asp:TableCell Width="400px">
    <asp:Label runat="server" ID="AssetTypeTextLabel" Text="Blank"></asp:Label>
</asp:TableCell>
<asp:TableCell>
    <asp:DropDownList runat="server" OnSelectedIndexChanged="AssetTypeDDL_SelectedIndexChanged" ID="AssetTypeDDL" AutoPostBack="true">
        <asp:ListItem Selected="True"> </asp:ListItem>
        <asp:ListItem Value="34">DB2 Cluster</asp:ListItem>
        <asp:ListItem Value="3">Desktop</asp:ListItem>
        <asp:ListItem Value="44">DNS Appliance</asp:ListItem>
        <asp:ListItem Value="37">EXCH Resource Cluster</asp:ListItem>
        <asp:ListItem Value="18">Firewall</asp:ListItem>
        <asp:ListItem Value="12">HyperV Cluster</asp:ListItem>
        <asp:ListItem Value="11">HyperV Guest Appliance</asp:ListItem>
        <asp:ListItem Value="10">HyperV Guest OS</asp:ListItem>
        <asp:ListItem Value="17">IDS/IPS Device</asp:ListItem>
        <asp:ListItem Value="15">IBM PwrX Blade Server</asp:ListItem>
        <asp:ListItem Value="14">IBM PwrX Server</asp:ListItem>
        <asp:ListItem Value="52">IDS/IPS Device</asp:ListItem>
        <asp:ListItem Value="4">Laptop</asp:ListItem>
        <asp:ListItem Value="6">Mac Desktop</asp:ListItem>
        <asp:ListItem Value="7">Mac Laptop</asp:ListItem>
        <asp:ListItem Value="50">Mainframe</asp:ListItem>
        <asp:ListItem Value="19">Mainframe Tape</asp:ListItem>
        <asp:ListItem Value="35">MFD/Printers</asp:ListItem>
        <asp:ListItem Value="48">Net Access Card Ctl</asp:ListItem>
        <asp:ListItem Value="47">Net IP Cameras</asp:ListItem>
        <asp:ListItem Value="48">Net Video Converter</asp:ListItem>
        <asp:ListItem Value="46">Net Video Recorder</asp:ListItem>
        <asp:ListItem Value="21">Network Appliance</asp:ListItem>
        <asp:ListItem Value="52">Network Appliance (Virtual)</asp:ListItem>
        <asp:ListItem Value="51">Network Supervisor</asp:ListItem>
        <asp:ListItem Value="22">Physical Tape</asp:ListItem>
        <asp:ListItem Value="42">Rack</asp:ListItem>
        <asp:ListItem Value="43">Remote Mgmt</asp:ListItem>
        <asp:ListItem Value="1">Router</asp:ListItem>
        <asp:ListItem Value="20">SAN Device</asp:ListItem>
        <asp:ListItem Value="27">Server Enclosure</asp:ListItem>
        <asp:ListItem Value="33">SQL Cluster</asp:ListItem>
        <asp:ListItem Value="2">Switch</asp:ListItem>
        <asp:ListItem Value="8">ThinClient</asp:ListItem>
        <asp:ListItem Value="5">UNIX Workstation</asp:ListItem>
        <asp:ListItem Value="26">VIOS Cluster(NR)</asp:ListItem>
        <asp:ListItem Value="16">VIOS Guest OS</asp:ListItem>
        <asp:ListItem Value="45">VLE Cluster</asp:ListItem>
        <asp:ListItem Value="25">VMWare Guest OS</asp:ListItem>
        <asp:ListItem Value="40">VOIP Analog Fax</asp:ListItem>
        <asp:ListItem Value="24">VOIP Gateway</asp:ListItem>
        <asp:ListItem Value="23">VOIP Phone</asp:ListItem>
        <asp:ListItem Value="41">VOIP Virtual Address</asp:ListItem>
        <asp:ListItem Value="32">Windows FO Cluster</asp:ListItem>
        <asp:ListItem Value="9">x86 Blade Server</asp:ListItem>
        <asp:ListItem Value="13">x86 Standard Server</asp:ListItem>
    </asp:DropDownList>
</asp:TableCell>
单击“插入”后,无论用户做了什么更改,FormView上的任何值都将写入插入中的数据库。我觉得这似乎不合逻辑。我认为初始化InsertItem(true)时表单中的值会写入表中,而不是绘制屏幕时的第一个值

对纠正这个问题有什么想法吗

肖恩,这是一个更大的c#剪辑给你:

使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
名称空间CInTrac
{
公共部分类更新:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
TextBox uname=(TextBox)ChangeFormFV.Row.FindControl(“SubmitByTextBox”);
如果(uname!=null)
uname.Text=Session[“RegUser”].ToString();
TextBox udate=(TextBox)ChangeFormFV.Row.FindControl(“SubmitDTTextBox”);
如果(udate!=null)
udate.Text=DateTime.Now.ToString(“MM/dd/yyyy”);
//阿塞蒂德
Label ustuff=(Label)RefDataFV.Row.FindControl(“AssetIDLabel”);
如果(ustuff!=null)
Session[“AID”]=ustuff.Text;
TextBox AIDvalue=(TextBox)ChangeFormFV.Row.FindControl(“AssetItemBox”);
if(AIDvalue!=null)
AIDvalue.Text=会话[“AID”].ToString();
//阿塞蒂德结束
//资产类型
标签atlstuff=(标签)RefDataFV.Row.FindControl(“AssetTypeLabel”);
TextBox ATypevalue=(TextBox)ChangeFormFV.Row.FindControl(“AssetTypeTextBox”);
如果(ATypevalue!=null)
ATypevalue.Text=atltuff.Text;
会话[“AssetType”]=atlstuff.Text;
GetAssetTypeFV.DataBind();
Label astylbl=(Label)GetAssetTypeFV.Row.FindControl(“AssetTypeLabel”);
Label ATTL=(Label)ChangeFormFV.Row.FindControl(“AssetTypeTextLabel”);
如果(ATTL!=null)
ATTL.Text=astylbl.Text;
//资产类型结束
//资产名称
Label ANLSTAFF=(Label)RefDataFV.Row.FindControl(“AssetNameLabel”);
TextBox ANamevalue=(TextBox)ChangeFormFV.Row.FindControl(“AssetNameTextBox”);
if(ANamevalue!=null)
ANamevalue.Text=anlstuff.Text;
//资产名称结束
//资产短缺
Label asdstuff=(Label)RefDataFV.Row.FindControl(“AssetShortDesLabel”);
TextBox AShortDescvalue=(TextBox)ChangeFormFV.Row.FindControl(“AssetShortDescTextBox”);
if(AShortDescvalue!=null)
AShortDescvalue.Text=asdstuff.Text;
//资产期末短期债务
//在此处剪裁以删除从一个数据源到另一个数据源的重复数据副本
//为了简洁起见,这里还剪辑了隐藏/显示独立字段窗格的例程
//基于用户的ACL值
}
受保护的无效资产类型DDL\u SelectedIndexChanged(对象发送方,事件参数e)
{
DropDownList pick=(DropDownList)ChangeFormFV.Row.FindControl(“AssetTypeDDL”);
TextBox ATypevalue=(TextBox)ChangeFormFV.Row.FindControl(“AssetTypeTextBox”);
如果(ATypevalue!=null)
ATypevalue.Text=pick.SelectedValue.ToString();
Label ATTL=(Label)ChangeFormFV.Row.FindControl(“AssetTypeTextLabel”);
如果(ATTL!=null)
ATTL.Text=pick.SelectedItem.Text;
}
受保护的无效资产状态USDDL\u SelectedIndexChanged(对象发送方,事件参数e)
{
DropDownList pick=(DropDownList)ChangeFormFV.Row.FindControl(“AssetStatusDdl”);
TextBox astatusevalue=(TextBox)ChangeFormFV.Row.FindControl(“AssetStatusTextBox”);
if(AStatusvalue!=null)
AStatusvalue.Text=pick.SelectedValue.ToString();
}
受保护的无效资产类型DDL\u SelectedIndexChanged(对象发送方,事件参数e)
{
DropDownList pick=(DropDownList)ChangeFormFV.Row.FindControl(“AssetPropTypeDdl”);
TextBox APropTypevalue=(TextBox)ChangeFormFV.Row.FindControl(“assetroptypetextbox”);
if(APropTypevalue!=null)
APropTypevalue.Text=pick.SelectedValue.ToString();
}
受保护的无效资产公司1DDL\u SelectedIndexChanged(对象发送方,事件参数e)
{
DropDownList pick=(DropDownList)ChangeFormFV.Row.FindControl(“资产公司1ddl”);
TextBox ACompanyvalue=(TextBox)ChangeFormFV.Row.FindControl(“AssetCompanyTextBox”);
if(ACompanyvalue!=null)
ACompanyvalue.Text=pick.SelectedValue.ToString();
}
受保护的无效AssetPriOSDdl\u SelectedIndexChanged(对象发送方,事件参数e)
{
DropDownList pick=(DropDownList)ChangeFormFV.Row.FindControl(“AssetPriOSDdl”);
TextBox APriOSvalue=(TextBox)ChangeFormFV.Row.FindControl(“AssetPriOSTextBox”);
if(APriOSvalue!=null)
APriOSvalue.Text=pick.SelectedValue.ToString();
}
受保护的无效资产\u SelectedIndexChanged(对象发送方,事件参数e)
{
DropDownList pick=(DropDownList)ChangeFormFV.Row.FindControl(“AssetAdminGrpDdl”);
TextBox AAdminGrpvalue=(TextBox)ChangeFormFV.Row.FindControl(“AssetAdminGrpTextBox”);
如果(AAdminGrpv
protected void InsertButton_Click1(object sender, EventArgs e)
  {
    ChangeFormFV.InsertItem(true);
    Response.Redirect("InvList.aspx");
  }
if(!Page.IsPostBack)