Dim wc As New WebClient()
wc.Credentials = New NetworkCredential("hello", "***")
wc.UploadFile("ftp://127.0.0.1/sort.zip", MapPath("sort.zip"))
Dim ftp As FtpWebRequest = CType(FtpWebRequest.Create("ftp://127.0.0.1/sort.zip"), FtpWebRequest)
ftp.Credentials = New NetworkCredential("hello", "***")
ftp.Method = WebRequestMethods.Ftp.GetDateTimestamp
Dim uu As FtpWebResponse = ftp.GetResponse
Label1.Text = uu.LastModified
10月 09, 2015
asp.net FTP上傳檔案和獲取修改時間
9月 30, 2015
COBOL 寫檔
COPY 'UTI\UNY.FC'.
DATA DIVISION.
FILE SECTION.
COPY 'UTI\UNIT.FD'.
COPY 'UTI\UNY.FD'.
WORKING-STORAGE SECTION.
01 EOF PIC 9 VALUE 0.
77 UNIT-STATUS PIC X(02).
88 UNIT-FIND VALUE '00'.
88 UNIT-ERR VALUE '94' '98'.
77 WS01 PIC X(01).
77 WK-FLG PIC 99.
PROCEDURE DIVISION.
MAIN SECTION.
MAIN-RTN.
MOVE 0 TO WK-FLG.
MOVE SPACES TO WS01.
OPEN I-O UNIT-FILE.
OPEN OUTPUT UNY-FILE.
PERFORM UNTIL EOF = 1
READ UNIT-FILE NEXT AT END MOVE 1 TO EOF
END-READ
IF UNIT-FIND
ADD 1 TO WK-FLG
MOVE UNIT-KEY TO UNY-KEY
MOVE UNIT-NAME TO UNY-NAME
MOVE UNIT-PEOPLE TO UNY-PEOPLE
MOVE UNIT-MAX TO UNY-MAX
MOVE UNIT-FLAG TO UNY-FLAG
MOVE UNIT-NOTE TO UNY-NOTE
MOVE ',' TO XA1 XA2 XA3 XA4 XA5
WRITE UNY-REC
END-IF
END-PERFORM.
DISPLAY WK-FLG.
CLOSE UNIT-FILE UNY-FILE.
STOP RUN.
MAIN-EXIT.
EXIT PROGRAM.
9月 15, 2015
COBOL 顯示所有資料
ID DIVISION.
PROGRAM-ID. P0611.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
COPY 'UTI\PC.FC'.
DATA DIVISION.
FILE SECTION.
COPY 'UTI\PC.FD'.
WORKING-STORAGE SECTION.
01 EOF PIC 9 VALUE 0.
77 PC-STATUS PIC X(02).
77 CUT PIC 99 VALUE 0.
PROCEDURE DIVISION.
MAIN SECTION.
MAIN-RTN.
OPEN I-O PC-FILE.
PERFORM UNTIL EOF = 1
READ PC-FILE NEXT AT END MOVE 1 TO EOF
END-READ
ADD 1 TO CUT
END-PERFORM
SUBTRACT 1 FROM CUT
PERFORM CUT TIMES
DISPLAY PC-PASSWORD PC-PROP-ID PC-STCK-ID PC-OFFICE-NAME
DISPLAY PC-CHINESE-CODE PC-PRINTER-CODE PC-CHAR-DENSITY
DISPLAY PC-RATE
END-PERFORM.
CLOSE PC-FILE.
MAIN-EXIT.
9月 08, 2015
COBOL 讀取資料
ID DIVISION.
PROGRAM-ID. P0612.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
COPY 'UTI\PERSON.FC'.
DATA DIVISION.
FILE SECTION.
COPY 'UTI\PERSON.FD'.
WORKING-STORAGE SECTION.
01 EOF PIC X VALUE 'N'.
77 PERSON-FSTATUS PIC X(02).
77 CUT PIC 9999 VALUE 0.
PROCEDURE DIVISION.
MAIN SECTION.
MAIN-RTN.
OPEN I-O PERSON-FILE.
ACCEPT CUT.
MOVE CUT TO PERSON-NO.
READ PERSON-FILE
END-READ.
DISPLAY PERSON-NO PERSON-NAMEX PERSON-BANK-NO.
DISPLAY PERSON-BIRTHDAY PERSON-MAIL-ADDR.
DISPLAY PERSON-ARV-DATE PERSON-EDUC-XXX.
DISPLAY PERSON-DEDUCT-DAY PERSON-DEDUCT-MONTH.
DISPLAY PERSON-DUTY PERSON-INSURE-BEG-DATE.
DISPLAY PERSON-INSURE-MONTH-PAY.
DISPLAY WAGE-DATA.
DISPLAY PERSON-PRO-SALARY-FLAG PERSON-PRO-SALARY.
DISPLAY PERSON-PRO-PROMOTE-FLAG.
CLOSE PERSON-FILE.
MAIN-EXIT.
8月 02, 2015
COBOL 算術運算
ID DIVISION.
PROGRAM-ID. P06999.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 A PIC 99.
01 B PIC 9(2) VALUE 2.
01 C PIC 99 VALUE 30.
01 R PIC 99 VALUE 0.
01 DIV PIC 99V99 VALUE 00.00.
PROCEDURE DIVISION.
MAIN SECTION.
MAIN-PARA.
DISPLAY 'INPUT NUMBER'.
ACCEPT A.
ADD 10 A TO R.
DISPLAY '10 + ' A '=' R.
MOVE 20 TO R.
SUBTRACT 10 A FROM R.
DISPLAY '10 - ' A '=' R.
MOVE 10 TO R.
MULTIPLY A BY R.
DISPLAY A ' * 10 = ' R.
DIVIDE A BY 2 GIVING DIV.
DISPLAY A ' / 2 =' DIV.
MOVE 2 TO R.
MULTIPLY A BY R GIVING DIV.
DISPLAY A ' * 2 =' DIV.
SUBTRACT A FROM 2 GIVING DIV.
DISPLAY A ' - 2 =' DIV.
ADD A TO 2 GIVING DIV ON SIZE ERROR DISPLAY 'TOO MUCH'.
DISPLAY A ' + 2 =' DIV.
DIVIDE 4 BY 3 GIVING DIV.
DISPLAY '4 / 3 = ' DIV.
COMPUTE DIV ROUNDED = 4 / 3.
DISPLAY '4 / 3 = ' DIV.
COMPUTE DIV = A + 2.
DISPLAY A ' + 2 = ' DIV.
COMPUTE DIV = A - 2.
DISPLAY A ' - 2 = ' DIV.
COMPUTE DIV = A / 2.
DISPLAY A ' / 2 = ' DIV.
COMPUTE DIV = A * 2 ON SIZE ERROR DISPLAY 'NUM IS OVER'.
DISPLAY A ' * 2 = ' DIV.
EXIT PROGRAM.
COMPUTE 输出变量 ROUNDED = 运算表达式
ROUNDED 四舍五入和输出项定义有关系
如一输出项定义99.99,一输入项为12.356
则输出为12.36,小数后第三位向前进位
如一输出项定义99,一输入项为12.356
则输出为12,小数后第第一位向前进位
8月 01, 2015
COBOL 的HELLO WORLD 並省略IDENTIFICATION DIVISION.
ID DIVISION.
PROGRAM-ID. P0609.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
MAIN SECTION.
MAIN-RTN.
DISPLAY 'HELLO WORLD' LINE 30 POSITION 20.
EXIT PROGRAM.
PE2 P0609.CBL -F2 存檔 F3 存檔關閉 F5清行 F9 新增下一行RMCOBOL P0609.CBL
RUNCOBOL P0609
DISPLAY 'HELLO WORLD' LINE 30 ERASE. --可清除螢幕
7月 19, 2015
按按鍵執行跳轉
window.onkeyup = hr;
var keyCount = 0;
function hr(e) {
if (e.keyCode === 72 && keyCount === 0) {
keyCount++;
} else if (e.keyCode === 82 && keyCount === 1) {
alert('進入特殊模式!');
window.location = "/ang.aspx";
keyCount = 0;
} else {
keyCount = 0;
};
};
function konami(e) {
if (e.keyCode === 38 && keyCount === 0) {
keyCount++;
console.log(keyCount);
} else if (e.keyCode === 38 && keyCount === 1) {
keyCount++;
console.log(keyCount);
} else if (e.keyCode === 40 && keyCount === 2) {
keyCount++;
console.log(keyCount);
} else if (e.keyCode === 40 && keyCount === 3) {
keyCount++;
console.log(keyCount);
} else if (e.keyCode === 37 && keyCount === 4) {
keyCount++;
console.log(keyCount);
} else if (e.keyCode === 39 && keyCount === 5) {
keyCount++;
console.log(keyCount);
} else if (e.keyCode === 37 && keyCount === 6) {
keyCount++;
console.log(keyCount);
} else if (e.keyCode === 39 && keyCount === 7) {
keyCount++;
console.log(keyCount);
} else if (e.keyCode === 66 && keyCount === 8) {
keyCount++;
console.log(keyCount);
} else if (e.keyCode === 65 && keyCount === 9) {
alert('進入特殊模式!');
window.location = "/ang.aspx";
keyCount = 0;
} else {
keyCount = 0;
}
}
7月 18, 2015
sql用while迴圈
declare @rt nvarchar(4)
declare @rr nvarchar(4)
declare @uu int
set @uu=0
while @uu < 22 --(select count(單位代碼) from View_LiveUnit where 單位代碼 < 0242)
begin
--print @uu
select top 1 @rr=單位代碼 from View_LiveUnit order by 單位代碼 --where 單位代碼 > @rr
select top 1 @rt=單位代碼 from View_LiveUnit where 單位代碼 > @rr order by 單位代碼
print @rt
set @uu+=1
end
7月 17, 2015
sql 指標的使用方法
declare @p3 nvarchar(4);
DECLARE cs CURSOR FAST_FORWARD for select 單位代碼 from View_LiveUnit where 單位代碼 < 0242;
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
open cs;
FETCH NEXT FROM cs INTO @p3;
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO [HR].[dbo].[HR_UnitDivisionCode]
([單位代碼]
,[科別代碼]
,[生效日期]
,[總分行別]
,[科別名稱]
)
VALUES
(@p3,531,getdate(),0,'作業組'
)
INSERT INTO [HR].[dbo].[HR_UnitDivisionCode]
([單位代碼]
,[科別代碼]
,[生效日期]
,[總分行別]
,[科別名稱]
)
VALUES
(@p3,532,getdate(),0,'業務組'
)
FETCH NEXT FROM cs INTO @p3;
END
CLOSE cs;
DEALLOCATE cs;
END
10月 25, 2014
免用SQL的SqlDataAdapter的新增修改和刪除
Dim dt As New DataTable
Using cn As New SqlConnection(conn)
Dim rr$ = "select * from city where id=@id"
Dim cmds As New SqlDataAdapter(rr, cn)
cmds.SelectCommand.Parameters.AddWithValue("id", 8)
cmds.Fill(dt)
Dim cb As New SqlCommandBuilder(cmds)
'新增
'Dim dr As DataRow = dt.NewRow
'dr("id") = 9
'dr("pp") = "hh"
'dt.Rows.Add(dr)
'dt.Rows.Add(8, "ert")'偷懶用
'修改
'dt.Rows(0)("city") = "666"'偷懶用
'For Each dr As DataRow In dt.Select("id=" & 8)
' dr("kk") = "hello"
'Next
'刪除
'dt.Rows(0).Delete()'偷懶用
'For Each dr As DataRow In dt.Select("id=" & 8)
' dr.Delete()
'Next
cmds.Update(dt)
cmds.Dispose()
End Using
GridView1.DataSource = dt
GridView1.DataBind()
8月 25, 2014
獲得system權限
因为需要对注册表进行操作,才发现原来管理员的权限也是不够的。打开注册表下一些特殊文件夹的权限一看,发现只有SYSTEM这个身份具备所有权限。由于其他所有身份删除注册表都是被拒绝的,所以,需要切换到SYSTEM身份下。
网上又使用at指令进行操作的,发现在win7下不可行,早已升级了。
最后在管理员权限下打开cmd,输入以下命令
sc Create SuperCMD binPath= "cmd /K start" type= own type= interact
sc start SuperCMD
然后win7下就会弹出一个消息,询问是否现在查看,点击立即查看,窗口会跳转到另外一个界面,这个界面就是用System身份打开的cmd,具备所有权限,然后用一下命令删除注册表的指定目标文件夹,OK
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_093A&PID_2521" /f
whoami指令可以看當前用戶
4月 02, 2014
MVC 用表單送資料給資料庫
首先是View
@{Html.BeginForm("postdata", "home", FormMethod.Post);}
@Html.Label("hh")<br>
First name: <input id="textbox1" name="name1" type="text" value=""><br>
Last name: @Html.TextBox("name2", "", new {id="textbox2" })
<br>
<input id="Submit11" type="submit" value="submit" />
@{Html.EndForm();}
再來是controll
[HttpPost]
public ActionResult postdata(int name1,int name2)
{
//ViewData["result"] = name1 + name2;
//ViewBag.da = name1 + name2;
int hh = name1 + name2;
ty.see56(hh);
return RedirectToAction("Index");
}
接著是Modelpublic int see56(int vlk) { SqlDataSource sds = new SqlDataSource(); sds.ConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; sds.UpdateCommand = "update item set mp=@mp where id=1"; sds.UpdateParameters.Add(new Parameter("mp",DbType.String,vlk.ToString())); sds.Update(); return 0; //return dv.Table.Rows[2].ItemArray[1].ToString(); }大功告成!
4月 01, 2014
設計換行和超聯結
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim Label1 As Label = FormView1.FindControl("Label1") 'Dim b As String = vbNewLine 'Replace(a.Text, Chr(10), "<br />") If Label1 IsNot Nothing Then Label1.Text = Replace(Label1.Text, vbNewLine, "<br />") End If ads_count.Update() End Sub Protected Sub HyperLink2_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Dim a As HyperLink = FormView1.FindControl("HyperLink2") 'Server.Transfer("./upload/" + a.Text) 'Response.Redirect("./upload/" + a.Text) Dim b As String = "./upload/" + a.Text a.NavigateUrl = b End Sub
3月 31, 2014
MVC 檔案上傳fileupload
Protected Sub Button4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Try Dim a2 As FileUpload = FormView1.FindControl("FileUpload2") a2.SaveAs(Server.MapPath("./upload/") + a2.FileName) Dim c2 As Label = FormView1.FindControl("Label444") c2.Text = a2.FileName a2.Enabled = False Dim d2 As Button = FormView1.FindControl("Button4") d2.Enabled = False Label2.Text = "上傳成功!!" Catch ex As Exception Label2.Text = ex.ToString() End Try End Sub首先在VIEW中輸入程式碼:
<form action="@Url.Action("MultiUpload")" method="post" enctype="multipart/form-data"> <input id="File1" type="file" name="files"/> <input id="File2" type="file" name="files"/> <input id="Submit1" type="submit" value="submit" /> <input id="Reset2" type="reset" value="reset" /> </form>接著是controll中的files必須對應到input的tag中的name即可
[HttpPost]
public ActionResult MultiUpload(IEnumerable<HttpPostedFileBase> files)
{
foreach (var file in files)
{
if (file != null && file.ContentLength > 0)
{
var path = Server.MapPath("~/App_Data/") + file.FileName;
file.SaveAs(path);
}
}
return RedirectToAction("Index");
}
3月 30, 2014
MVC Jquery傳checkbox已勾選的物件陣列回control
首先在View中加入webgrid並且放入checkbox
Jquery的寫法如下
接著回到controll
由於物件陣列的回傳會因為jquery的處理而接收不到
因此必須在controll底下加入一個處理方法
然後接著是controll的部分
如此一來就能將被勾選的Value正確傳給controll~!
<div id="gridContent"> @grid.GetHtml( columns: grid.Columns( grid.Column("id", "id", format: @<input class="select" id="assignChkBx" name="assignChkBx" type="checkbox" value="@item.id"/>), grid.Column("item", "item"), grid.Column("name", "改字", style: "description") )) </div>
Jquery的寫法如下
$("#Button2").click(function () { var str=[]; $("input:[name='assignChkBx'][checked]").each(function () { str.push($(this).val()); }); $.post("@Url.Content("~/store/bgg")", {user:JSON.stringify(str) }, function (res) { alert(res); }); });
接著回到controll
由於物件陣列的回傳會因為jquery的處理而接收不到
因此必須在controll底下加入一個處理方法
/// <summary> /// FromJsonAttribute /// 用在透過javascript 傳送json格式資料到controller時使用 /// </summary> public class FromJsonAttribute : CustomModelBinderAttribute { /// <summary> /// JavaScriptSerializer /// </summary> private readonly static JavaScriptSerializer serializer = new JavaScriptSerializer(); /// <summary> /// GetBinder /// </summary> /// <returns>Binder</returns> public override IModelBinder GetBinder() { return new JsonModelBinder(); } /// <summary> /// JsonModelBinder /// </summary> private class JsonModelBinder : IModelBinder { /// <summary> /// BindModel /// </summary> ///<param name="controllerContext">controllerContext ///<param name="bindingContext">bindingContext /// <returns>object</returns> public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { var stringified = controllerContext.HttpContext.Request[bindingContext.ModelName]; if (string.IsNullOrEmpty(stringified)) { return null; } return serializer.Deserialize(stringified, bindingContext.ModelType); } } }
然後接著是controll的部分
string tt; public ActionResult bgg([FromJson]List<int> user) { if (user != null) { foreach(var item in user){ tt += item.ToString(); } } return Content(tt); }
如此一來就能將被勾選的Value正確傳給controll~!
3月 29, 2014
MVC sds dr da大全
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; //-------------------------------- using System.Data.SqlClient; using System.Data; using System.Web.UI.WebControls; using System.Web.UI; /// <summary> /// WebService 的摘要描述 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] // 若要允許使用 ASP.NET AJAX 從指令碼呼叫此 Web 服務,請取消註解下列一行。 // [System.Web.Script.Services.ScriptService] public class WebService : System.Web.Services.WebService { public WebService () { //如果使用設計的元件,請取消註解下列一行 //InitializeComponent(); } [WebMethod] public DataTable HelloWorld() { string sc = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; SqlConnection cn = new SqlConnection(sc); cn.Open(); string sql = "select * from city"; SqlCommand cmd = new SqlCommand(sql, cn); SqlDataAdapter da = new SqlDataAdapter(sql, cn); DataSet ds = new DataSet(); da.SelectCommand = cmd; da.Fill(ds); ds.Dispose(); da.Dispose(); cmd.Dispose(); cn.Close(); cn.Dispose(); return ds.Tables[0]; } [WebMethod] public string[] city(int city) { string sc = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; SqlConnection cn = new SqlConnection(sc); cn.Open(); string sql = "select * from city where id=@id"; SqlCommand cmd = new SqlCommand(sql, cn); cmd.Parameters.Add("@id", System.Data.SqlDbType.Int).Value = city; SqlDataReader dr = cmd.ExecuteReader(); string[] dt = new string[2]; while (dr.Read()) { dt[0] = dr[0].ToString(); dt[1] = dr[1].ToString(); } cmd.Dispose(); cn.Close(); cn.Dispose(); return dt; } [WebMethod] public DataTable[] hi() { string sc = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; SqlConnection cn = new SqlConnection(sc); cn.Open(); string sql = "select * from area;select * from city"; SqlCommand cmd = new SqlCommand(sql,cn); SqlDataAdapter da = new SqlDataAdapter(sql, cn); DataTable[] dt = new DataTable[] {new DataTable("dt1"),new DataTable("dt2")}; da.SelectCommand = cmd; da.Fill(0,0,dt); da.Dispose(); cmd.Dispose(); cn.Close(); cn.Dispose(); return dt; } [WebMethod] public DataTable hida(int id) { string sc = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; SqlConnection cn = new SqlConnection(sc); cn.Open(); string sql = "select * from city where id=@id"; SqlCommand cmd = new SqlCommand(sql, cn); cmd.Parameters.Add("@id", System.Data.SqlDbType.Int).Value = id; SqlDataAdapter da = new SqlDataAdapter(sql, cn); DataTable dt = new DataTable(); da.SelectCommand = cmd; da.Fill(dt); da.Dispose(); cmd.Dispose(); cn.Close(); cn.Dispose(); return dt; } [WebMethod] public SqlDataSource sds(string id) { SqlDataSource sds = new SqlDataSource(); sds.ConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; sds.SelectCommand = "select * from city where id=@id"; sds.SelectParameters.Add(new Parameter("id", System.Data.DbType.Int32, id)); //sds.Select(DataSourceSelectArguments.Empty); return sds; } [WebMethod] public int clear(int id) { string sc = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; SqlConnection cn = new SqlConnection(sc); cn.Open(); SqlTransaction tran = cn.BeginTransaction(); string sql = "update item set lp=20 where id=@id"; SqlCommand cmd = new SqlCommand(sql, cn , tran); cmd.Parameters.Add("@id", System.Data.SqlDbType.Int).Value = id; string sql2 = "update item set lp=20 where id=2"; SqlCommand cmd2 = new SqlCommand(sql2,cn,tran); try { cmd.ExecuteNonQuery(); cmd2.ExecuteNonQuery(); tran.Commit(); } catch (Exception e) { tran.Rollback(); } cmd.Dispose(); cn.Close(); cn.Dispose(); return 0; } [WebMethod] public int inse(string id,string aid,string area) { SqlDataSource sds = new SqlDataSource(); sds.ConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; sds.InsertCommand = "insert into area(id,aid,area)values(@id,@aid,@area)"; sds.InsertParameters.Add(new Parameter("id", System.Data.DbType.Int32, id)); sds.InsertParameters.Add(new Parameter("aid", System.Data.DbType.Int32, aid)); sds.InsertParameters.Add(new Parameter("area", System.Data.DbType.String, area)); sds.Insert(); return 0; } [WebMethod] public DataTable Hdd() { string sc = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; SqlConnection cn = new SqlConnection(sc); cn.Open(); string sql = "select * from city"; SqlCommand cmd = new SqlCommand(sql, cn); SqlDataAdapter da = new SqlDataAdapter(sql, cn); SqlCommandBuilder cb = new SqlCommandBuilder(da); DataTable dt = new DataTable(); da.SelectCommand = cmd; da.Fill(dt); da.InsertCommand = cb.GetInsertCommand(); da.InsertCommand.Connection = cn; da.UpdateCommand = cb.GetUpdateCommand(); da.UpdateCommand.Connection = cn; da.DeleteCommand = cb.GetDeleteCommand(); da.DeleteCommand.Connection = cn; //修改 DataRow dr1 = dt.Rows[0]; dr1[1] = "台北市"; //新增 //DataRow dr2 = dt.NewRow(); //dr2[0] = 5; //dr2[1] = "嘉義市"; //dt.Rows.Add(dr2); //刪除 //dt.Rows[4].Delete(); //DataRow dr3 = dt.Rows[4]; //dr3.Delete(); //dt.Rows.RemoveAt(4); 不顯示但是不刪除 //foreach (DataRow dr in dt.Select("ID='101'")) //{ // //dr.Delete(); //} da.Update(dt); da.Dispose(); cmd.Dispose(); cn.Close(); cn.Dispose(); return dt; } }
3月 28, 2014
在GridView做加減並更新
protected void gv_DataBound(object sender, EventArgs e) { for (int i = 0; i < gv.Rows.Count; i++) { Label aa = (Label)gv.Rows[i].Cells[6].FindControl("Label3"); if (aa != null) { if (aa.Text.Trim().StartsWith("-")) aa.Text = "0"; int number; string hu = aa.Text.Trim(); int.TryParse(hu, out number); int num2 = int.Parse(DropDownList1.SelectedValue); int num3 = number * num2; gv.Rows[i].Cells[7].Text = num3.ToString(); } } } protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { SqlDataSource ses = new SqlDataSource(); ses.ConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["immis"].ConnectionString; ses.UpdateCommand = "update hi set total=@total where id=101"; ses.UpdateParameters.Add(new Parameter("total", TypeCode.String)); ses.UpdateParameters["total"].DefaultValue = DropDownList1.SelectedValue.ToString(); ses.Update(); }
3月 27, 2014
MVC 進階WebGrid的用法
首先在VIEW前面宣告如下
@using mvc3.Models;
@{
ViewBag.Title = "index";
Model aa = new Model();
var grid = new WebGrid(aa.gridv(), canPage: true, rowsPerPage: 15,
selectionFieldName: "selectedRow", ajaxUpdateContainerId: "gridContent");
}
接著是在需要呈現的HTML如下<div id="gridContent"> @grid.GetHtml( columns: grid.Columns( grid.Column("id", "id"), grid.Column("item", "item"), grid.Column("name", "改字", style: "description") )) </div>在MODEL的程式碼如下
public class data { public string id { get; set; } public string item { get; set; } public string name { get; set; } } public List<data> gridv() { string a = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; SqlConnection conn = new SqlConnection(a); conn.Open(); string sql = "select [id],[item],[cs] from item"; SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader dr = cmd.ExecuteReader(); List<data> oop = new List<data>(); while(dr.Read()) { oop.Add(new data() { id = dr[0].ToString(), item = dr[1].ToString(), name = dr[2].ToString() }); } dr.Close(); dr.Dispose(); cmd.Dispose(); conn.Close(); conn.Dispose(); return oop; }不用WebGrid的方法如下
@foreach (var d in aa.gridv()){
<table>
<tr><td>@d.id</td><td>@d.item</td><td>@d.name</td></tr>
</table>
}
3月 24, 2014
MVC 高階連動式下拉選單DropDownList
首先在View新增兩個下拉選單
@Html.DropDownList("select2",null ,new { id="Select2"})
@Html.DropDownList("select3",null ,new { id="Select3"})
根據上一篇的結果 我們會在Controll中把縣市的資料塞給Select2
Model ty = new Model();
public ActionResult Index()
{
ViewBag.select2 = ty.see();
ViewBag.select3 = ty.see3("3");
return View();
}
然後因為Select2有預設選項為3
所以我們在ty.see3(3)就給3
然後進Model開始寫see3()的方法如下
public List<SelectListItem> see3(string city)
{
string a = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
SqlConnection conn = new SqlConnection(a);
conn.Open();
string sql = "select area , aid from area where id=@id";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add("@id", System.Data.SqlDbType.Int).Value = city;
SqlDataAdapter da = new SqlDataAdapter(sql,conn);
DataTable dt = new DataTable();
da.SelectCommand = cmd;
da.Fill(dt);
List<SelectListItem> yuii = new List<SelectListItem>();
for (int i = 0; i < dt.Rows.Count;i++ )
{
yuii.Add(new SelectListItem()
{
Text = dt.Rows[i].ItemArray[0].ToString(),
Value = dt.Rows[i].ItemArray[1].ToString()
});
}
da.Dispose();
dt.Dispose();
cmd.Dispose();
conn.Close();
conn.Dispose();
return yuii;
}
接著回到Controll另外寫個ActionResult:
public ActionResult details(string user)
{
var sop = ty.see3(user);
TagBuilder tb = new TagBuilder("select");
tb.GenerateId("Select3");
tb.MergeAttribute("name","select3");
foreach (var item in sop)
{
tb.InnerHtml+="<option value='"+item.Value.ToString()+"'>"+item.Text.ToString()+"</option>";
}
return Content(tb.ToString());
}
這邊是等AJAX呼叫時馬上去跟MODEL要資料再生成HTML程式碼return回去
記得ID要一樣,然後接著是前端的Jquery寫法如下
$("#Select2").change(function () {/*當縣市的下拉選單改變時*/
var selected = $("#Select2 option:selected");
$.post("@Url.Content("~/home/details")",
{ user: selected.val() },
function (res) {
$("#Select3").replaceWith(res);
});
});
如此一來,當縣市的選單改變後,會post選取值去Controll那邊
然後controll那邊會負責要資料在return出HTML,選區域的Select3的選項就會改變!
3月 23, 2014
MVC 進階ListBox和DropDownList
首先要到Model.cs記得using System.Web.Mvc;
接著利用List將資料return
回到Controll那邊:
再回到View:
@Html.ListBox("select1", null, new { id="SelectList2",size="2"})
@Html.DropDownList("select2",null ,new { id="Select2"})
大功告成!!
public List<SelectListItem> see() { string a = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; SqlConnection conn =new SqlConnection(a); conn.Open(); string sql = "spii"; SqlCommand cmd = new SqlCommand(sql,conn); SqlDataReader dr = cmd.ExecuteReader(); List<SelectListItem> yui = new List<SelectListItem>(); for (int i = 0; i <=dr.FieldCount+1; i++) { dr.Read(); yui.Add(new SelectListItem() { Text = dr[1].ToString(), Value = dr[0].ToString(), Selected = dr[0].Equals(3) }); } dr.Close(); cmd.Dispose(); conn.Close(); conn.Dispose(); return yui; }
接著利用List
回到Controll那邊:
Model ty = new Model(); public ActionResult Index() { ViewBag.select1 = ty.see(); ViewBag.select2 = ty.see(); }
再回到View:
@Html.ListBox("select1", null, new { id="SelectList2",size="2"})
@Html.DropDownList("select2",null ,new { id="Select2"})
大功告成!!
訂閱:
文章 (Atom)