使用FormsAuthentication.SetAuthCookie
var acct = "spring"; FormsAuthentication.SetAuthCookie(acct, false);
var acct = "spring"; FormsAuthentication.SetAuthCookie(acct, false);
//直譯器載入js時,會先處理所有的宣告,包含變數與函數宣告,接下來才執行程式,因此尚未執行到匿名函數時,無法調用
//一般函數宣告方式,同一個scope的任何地方都可使用func1
func1();
function func1(){
console.log('func1 => ' + 'type of func1 : ' + typeof func1);
}
//func2()必須在指定後才能調用,雖然是具名函數,但表示式的寫法,只會提升變數的宣告,並沒有函數的定義,所以func2()還是得像匿名函數一樣先指定才可調用
var func2 = function func2 (){
console.log('func2');
};
func2();
//匿名函數func3()必須在指定後才能調用
var func3 = function(){
console.log('func3');
};
func3();
//匿名函數,占用空間在執行完會馬上釋放
( function () {
console.log('func4');
}()); //立即執行
//callback(回調函數)
$("#btn").click(function() {
console.log('btn');
});
class Program
{
static void Main(string[] args)
{
Lilo lilo = new Lilo();
//lilo.strStitch 指向 類別Lilo的 public string strStitch;
Console.WriteLine("{0} 是我的家人 !!", lilo.strStitch);
Console.ReadLine();
}
class Lilo
{
public string strStitch;
public Lilo()
{
string strStitch;
strStitch = "STITCH";
//this.strStitch 指向 public string strStitch;
this.strStitch = strStitch;
}
}
}
var lilo = {
stitch : 'STITCH',
f: function(){
console.log(this.stitch + " 是我的家人 !!");
}
};
//調用f函式後,f內的this指向點f()前面的lilo
lilo.f();
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Net.Http.Formatting;
using System.Data;
using MvcMusicStore.Models;
using System.Data.Entity;
using System.Configuration;
using System.Data.SqlClient;
namespace MvcMusicStore.Controllers
{
public class ExtJSApiController : ApiController
{
public dynamic ReviewDataGet(FormDataCollection form)
{
string conn = ConfigurationManager.ConnectionStrings["MvcMusicStoreContext"].ConnectionString;
DataTable dt = new DataTable();
string strCheck = form.Get("x");
string strAlbumID = form.Get("AlbumID");
string strTitle = form.Get("Title");
using (SqlConnection sqlConnection = new SqlConnection(conn))
{
string strSql = "SELECT * FROM Albums WHERE AlbumID LIKE @AlbumID AND Title LIKE @Title";
SqlCommand sqlCommand = new SqlCommand(strSql, sqlConnection);
sqlCommand.Parameters.AddWithValue("@AlbumID", "%" + strAlbumID + "%");
sqlCommand.Parameters.AddWithValue("@Title", "%" + strTitle + "%");
sqlConnection.Open();
dt.Load(sqlCommand.ExecuteReader());
}
DataSet ds = new DataSet();
ds.Tables.Add(dt);
return new ApiResponse()
{
success = true,
msg = "",
ds = ds
};
}
public dynamic AlbumComboGet()
{
DataTable dt = new DataTable();
using (SqlConnection sqlConnection = new SqlConnection(conn))
{
string strSql = "SELECT AlbumID AS 'TEXT',AlbumID AS 'VALUE' FROM Albums";
SqlCommand sqlCommand = new SqlCommand(strSql, sqlConnection);
sqlConnection.Open();
dt.Load(sqlCommand.ExecuteReader());
}
return dt;
}
}
public class ApiResponse
{
public DataSet ds { get; set; }
public string msg { get; set; }
public bool success { get; set; }
}
}
public class CALENDAR
{
public string title { get; set; }
public string start { get; set; }
public string end { get; set; }
public string url { get; set; }
}
@{
ViewBag.Title = "Calendar";
}
@section featured {
<link href="@Url.Content("~/Scripts/fullcalendar/lib/cupertino/jquery-ui.min.css")" rel="stylesheet" type="text/css" />
<link href="@Url.Content("~/Scripts/fullcalendar/fullcalendar.css")" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="@Url.Content("~/Scripts/fullcalendar/lib/moment.min.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/fullcalendar/lib/jquery.min.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/fullcalendar/fullcalendar.min.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/fullcalendar/lang-all.js")"></script>
<style>
body {
margin: 40px 10px;
padding: 0;
font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
font-size: 14px;
overflow:scroll !important;
}
#calendar {
max-width: 900px;
margin: 0 auto;
}
</style>
<div id='calendar'></div>
<script>
$(document).ready(function () {
$('#calendar').fullCalendar({
theme: true,
lang: 'zh-tw',
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: false,
eventLimit: true, // allow "more" link when too many events
events: {
type: 'POST',
url: '../api/TP1025CalendarGet/CalendarData',
error: function () {
alert('資料存取失敗!');
},
success: function (response) {
}
}
});
});
</script>
}
public class TP1025CalendarController : Controller
{
//
// GET: /TP1025Calendar/
public ActionResult Index()
{
return View();
}
}
public class TP1025CalendarGetController : ApiControllerWebBase
{
public List CalendarData(FormDataCollection form)
{
List calendar = new List();
foreach (DataRow dr in response.ds.Tables[0].Rows)
{
calendar.Add(new CALENDAR { title = dr["title"].ToString(), start = dr["start"].ToString(), url = "" });
}
return calendar;
}
}