c#/ASP.net/PostBack/Open端口
} 我想编写代码来控制arduino,并在页面第一次加载时打开端口,然后关闭手动,我尝试了上面的代码,但端口没有打开,如果我不使用if(!IsPostback)则可以工作,但我想在第一次打开端口,请帮助。尝试以下操作:c#/ASP.net/PostBack/Open端口,c#,asp.net,arduino,C#,Asp.net,Arduino,} 我想编写代码来控制arduino,并在页面第一次加载时打开端口,然后关闭手动,我尝试了上面的代码,但端口没有打开,如果我不使用if(!IsPostback)则可以工作,但我想在第一次打开端口,请帮助。尝试以下操作: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; u
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO.Ports;
namespace Smart_House
{
public partial class WebForm1 : System.Web.UI.Page
{
SerialPort serijska_vrata;
protected void Page_Load(object sender, EventArgs e)
{
/*Inicializacija dropdownList*/
DropDownList1.Items.Add("COM3");
DropDownList1.Items.Add("COM2");
DropDownList1.Items.Add("COM1");
DropDownList1.Items.Add("COM4");
DropDownList1.Items.Add("COM5");
DropDownList1.Items.Add("COM6");
DropDownList1.Items.Add("COM7");
DropDownList1.Items.Add("COM8");
DropDownList1.Items.Add("COM9");
/*Inicializacija Serialport*/
serijska_vrata = new SerialPort();
serijska_vrata.PortName = "COM3";
serijska_vrata.BaudRate = 9600;
if(!IsPostBack)
{
serijska_vrata.Open();
Button3.Text = "\uf011";
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
}
static bool on_off_namizna = false;
protected void Button3_Click(object sender, EventArgs e)
{
if (on_off_namizna == false)
{
serijska_vrata.Write("1");
button_style.Href = "Buttonon.css";
label_style.Href = "labelon.css";
on_off_namizna = true;
}
else if (on_off_namizna == true)
{
serijska_vrata.Write("0");
button_style.Href = "Buttonoff.css";
label_style.Href = "labeloff.css";
on_off_namizna = false;
}
}
}
因为如果将DropDownList ADD方法保留在(!IsPostPack)之外,它将继续将项目推送到列表中。不起作用,我在“serijska_vrata.Write”(“1”)处得到错误System.NullReferenceException{“object reference not set to a instance of a object”};
if(!IsPostBack)
{
DropDownList1.Items.Add("COM3");
DropDownList1.Items.Add("COM2");
DropDownList1.Items.Add("COM1");
DropDownList1.Items.Add("COM4");
DropDownList1.Items.Add("COM5");
DropDownList1.Items.Add("COM6");
DropDownList1.Items.Add("COM7");
DropDownList1.Items.Add("COM8");
DropDownList1.Items.Add("COM9");
/*Inicializacija Serialport*/
serijska_vrata = new SerialPort();
serijska_vrata.PortName = "COM3";
serijska_vrata.BaudRate = 9600;
serijska_vrata.Open();
Button3.Text = "\uf011";
}