關於網路那些事...

網路行銷,SEO,網路趨勢,教學文章,網頁設計,生活時事

如何解決 IIS 空白畫面或執行ASP.NET 時出現【處理常式 "PageHandlerFactory-Integrated" 的模組清單中有錯誤的模組 "ManagedPipelineHandler"】

通常在新的環境,發布ASP.NET網頁到 wwwroot 之後

最常見的異常狀況有兩種:

  1. IIS 空白畫面
  2. 處理常式 "PageHandlerFactory-Integrated" 的模組清單中有錯誤的模組 "ManagedPipelineHandler"

這裡針對這兩種方式來進行說明,如何解決

[IIS空白]

IIS 空白通常是靜態網頁選項未設定

因此,先開啟控制台 > 程式集 點選 解除安裝程式

接著點選 開啟或關閉windows功能

在功能選項中,將 Internet Information Services > World Wide Web 服務 > 靜態內容 勾選

接著再開啟畫面,看看是否還是空白

IIS 空白 - 在勾選靜態內容後,畫面仍是空白該如何處理

首先,在wwwroot目錄新增一個 index.html ,我們放入簡單的顯示文字

index.html

<!DOCTYPE html>
<html>
<head>
    <title>Hello world</title>
</head>
<body>
Hello world
</body>
</html>

若有在畫面中看到 Hello World,就表示靜態內容已經能正常運作瞜

可以刪除 index.html ,重新發布看看是否已經正常

若 ASP.NET 發布仍出現白畫面問題,則試試接下來得解決方式

[ASP.NET 發布仍出現白畫面 或 出現處理常式 "PageHandlerFactory-Integrated" 的模組清單中有錯誤的模組 "ManagedPipelineHandler"]

為了釐清狀況,我們先使用最基本的 web form 網頁,在 Default.aspx 內部加入簡單的文字

Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <h1>Hello world</h1>
        </div>
    </form>
</body>
</html>

發布之後,若出現下方畫面中的錯誤訊息,原因就是在ASP.NET 4.0 之後版本,必須在IIS也安裝.NET Framework 4.0

如果是獨立安裝 .NET Framework 4.0 再啟動IIS,就可能會發生這個錯誤,原因是IIS仍未取得該項更新

解決辦法:

使用管理員權限開啟命令式窗

接著切換目錄到

C:/Windows/Microsoft.NET/Framework64/v4.0.3.0.319

接著執行語句【aspnet_regiis -i】

C:/Windows/Microsoft.NET/Framework64/v4.0.3.0.319>aspnet_regiis -i

如畫面所示

若出現 安裝完成 ASP.NET 。就安裝完成瞜


如果你喜歡我們的文章內容,請在這裡按個讚



ASP.NET C# - MS SQL Server 連線

ASP.NET C# - MS SQL Server 連線

ASP.NET 連接 MS SQL Server 方式

首先,載入 System.Data.SqlClient 空間命名,取得與 MS SQL Server 連線查詢處理相關功能


如果你喜歡我們的文章內容,請在這裡按個讚



ASP.NET C# - Server Controls

ASP.NET C# - Server Controls

Microsoft 採取跟 Windows Form 應用程式一樣的方式來建立網站應用程式,

動態處理部分會放在 .aspx,事件處理程式則會將程式碼後置(code-behind) 放在 .cs或.vb

所以都必須先建立一個 form 表單範圍,並且添加 runat="server"

在 form 內部,就能開始添加控制項,或者事件驅動,

因此,想在HTML元素進行 server side處理,就要向這些元素添加 runat="server" 屬性,

以及註冊 ID 作為辨識,ID在同一個webForm中不可以重複

例如,在 server side 賦予超連結的url值

在 C# 檔案
C#

mylink.HRef = "http://google.com";

在HTML 表單中,超連結標籤新增了HtmlAnchor 服務器控制向之後,

server side就會透過id來辨識,操控賦予值

aspx

<form id="form1" runat="server">
    <a id="mylink" runat="server">my link</a>
</form>

標準控制項

前面提到,在 Web 設計會透過一個 form 的區塊來處理動態資料

微軟提供相當多的標準控制項,可以直接應來建立各種網頁功能,例如:
Label, TextBox, Button, LinkButton, ImageButton, HyperLink, DropDownList, ListBox, CheckBox, CheckBoxList, RadioButton, RadioButtonList, Image, ImageMap, Table, BulletedList, HiddenField, Literal, Calendar, AdRotator, FileUpload, Wizard, Xml, MultiView, Panel, PlaceHolder, View, Substitution, Localize

每一個控制項都有屬性、事件、方法可以使用

我習慣僅單純使用需動態文字、內容,對於樣式屬性控制則交由CSS負責

這裡列出幾個常用的標準控制項,進行說明

[Label] 顯示文字

Lable 控制向主要用來顯示文字資訊

這裡註冊一個ID 為 mylabel
aspx

<form id="form1" runat="server">
    <asp:Label ID="mylabel" runat="server"></asp:Label>
</form>

接著在 code-behind 賦予值

C#

mylabel.Text = "my label";
[TextBox] 輸入文字

TextBox 控制項常常需要搭配 TextMode 來指定標籤類型

TextMode 可用的屬性: Color, Date, DateTime, DateTimeLocal, Email, Month, MultiLine, Number, Password, Phone, Range, Search, SingleLine, Time, Url, Week

aspx

<form id="form1" runat="server">
    <asp:TextBox ID="my_textbox" runat="server" TextMode="MultiLine"></asp:TextBox>
</form>

接著在 code-behind 賦予值

C#

my_textbox.Text = "my textbox";
[Button] 按鈕及事件

Button 最常搭配 onclic 呼叫對應事件程式

例如這裡兩個按鈕分別呼叫不同事件
aspx

<form id="form1" runat="server">
    <div>
     <asp:Button runat="server" onclick="myButtonClickEvent" Text="Click This"/>
    </div>
    <div>
     <asp:Button runat="server" onclick="myButtonClickEvent2" Text="Click This2"/>
    </div>
</form>

在 code-behind 加入兩個事件

C#

protected void myButtonClickEvent(object sender, EventArgs e)
{
    Response.Write("OK This is myButtonClickEvent Click");
}
protected void myButtonClickEvent2(object sender, EventArgs e)
{
    Response.Write("OK This is myButtonClickEvent2 Click");
}
[DropDownList] 下拉選單
屬性 說明
AppendDataBoundItems 指示是否在資料繫結之前清除清單項目。
AutoPostBack 指示在使用者變更清單選取項目時,是否會自動向伺服器回傳。
DataSource 設定資料繫結來源。
DataSourceID 設定資料繫結來源控制項 ID
DataMember 設定資料繫結控制項繫結至的資料清單名稱。
DataTextField 設定提供清單項目文字內容的資料來源的欄位。
DataTextFormatString 設定用來控制資料繫結至清單控制項時顯示方式的格式字串。
Items 取得或設定 DropDownList 控制項中項目的集合。

直接提供下拉選單項目:

aspx

<form id="form1" runat="server">
    <asp:DropDownList runat="server">
        <asp:ListItem Value="0"></asp:ListItem>
        <asp:ListItem Value="1"></asp:ListItem>
        <asp:ListItem Value="2" Selected="True"></asp:ListItem>
        <asp:ListItem Value="3"></asp:ListItem>
    </asp:DropDownList>
</form>

單一資料來源方式建立下拉選單:

aspx

<form id="form1" runat="server">
    <asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList>
</form>

C#

//這兩種方式都可以
//List Data
var items = new List<string> {"111", "222", "333" };
//Array Data
string[] items = { "111", "222", "333", "444", "555" };

DropDownList1.DataSource = items;
DropDownList1.DataBind();

value-name 資料來源方式,建立下拉選單:

c#

//若有 post back, 取得目前選擇的值
if (IsPostBack)
{
    Response.Write("<br>" + DropDownList1.SelectedValue + "<----- <br>");
    Response.Write("<br>" + DropDownList1.SelectedItem.Value + "<----- <br>");
    Response.Write("<br>" + DropDownList1.SelectedItem.Text + "<----- <br>");
}
// 僅有首次需要建立資料 (若post back 也 Add ,下拉選項會持續累加)
if (!IsPostBack)
{
    //要先清除 DropDownList 資料
    DropDownList1.Items.Clear();
    List<string[]> myList = new List<string[]> { new string[] { "111", "AAA" }, new string[] { "222", "BBBB" }, new string[] { "333", "CCC" } };
    foreach (var item in myList)
    {
        DropDownList1.Items.Add(new ListItem(item[1], item[0]));
    }
    DropDownList1.DataBind();
}
[ListBox] 單/多重列表項目

ListBox 可以建立單/多選列表

預設為單選,若要多選擇可以使用 SelectionMode: Multiple
列表長度可以透過 Row 來指定顯示的列數

動態資料來源則可參考 DropDownList

aspx

<asp:ListBox runat="server" SelectionMode="Multiple" Rows="10" >
    <asp:ListItem Value="0"></asp:ListItem>
    <asp:ListItem Value="1"></asp:ListItem>
    <asp:ListItem Value="2" Selected="True"></asp:ListItem>
    <asp:ListItem Value="3"></asp:ListItem>
</asp:ListBox>
[CheckBox] 核選框

CheckBox 可以產生核選單

aspx

<div>
    <label for="my_checkbox">MyCheckbox</label>
    <asp:CheckBox ID="my_checkbox" runat="server" Checked="true" />
</div>

取得 CheckBox 值
C#

if (IsPostBack)
{
    Response.Write(my_checkbox.Checked);
}
[CheckBoxList] 多重核選框

aspx

<asp:CheckBoxList ID="my_checkboxlist" runat="server" CssClass="myList">
    <asp:ListItem Value="1"> A </asp:ListItem>
    <asp:ListItem Value="2"> B </asp:ListItem>
    <asp:ListItem Value="3"> C </asp:ListItem>
    <asp:ListItem Value="4"> D </asp:ListItem>
    <asp:ListItem Value="5"> E </asp:ListItem>
    <asp:ListItem Value="6"> F </asp:ListItem>
</asp:CheckBoxList>

簡單使用 foreach 取得值
C#

if (IsPostBack)
{
    foreach (ListItem item in my_checkboxlist.Items)
    {
        if (item.Selected)
        {
            Response.Write("<br>"+item.Text+"<br>");
        }
    }
}

儲存在List中
C#

if (IsPostBack)
{
    List<ListItem> selected = new List<ListItem>();
    foreach (ListItem item in my_checkboxlist.Items)
    {
        if (item.Selected)
        {
            selected.Add(item);
        }
    }
}
[RadioButton] 單一選項按鈕

選項按鈕通常會多選一的方式呈現
因此都會使用到 GroupName 這個屬性來將同類型的選項群組起來

aspx

<asp:RadioButton runat="server" ID="RadioButton1" GroupName="myGroup" Text="my radio1" />
<asp:RadioButton runat="server" ID="RadioButton2" GroupName="myGroup" Text="my radio2" />
<asp:RadioButton runat="server" ID="RadioButton3" GroupName="myGroup" Text="my radio3" />

但是在 code-behind 端,這樣只能透過 Text 屬性取得值

我們希望可以設定一個 value 的方式,可以自己增加這個屬性

aspx

<asp:RadioButton runat="server" ID="RadioButton1" GroupName="myGroup" Text="my radio1" Value="1" />
<asp:RadioButton runat="server" ID="RadioButton2" GroupName="myGroup" Text="my radio2" Value="2"/>
<asp:RadioButton runat="server" ID="RadioButton3" GroupName="myGroup" Text="my radio3" Value="3"/>

透過 Attributes 屬性取得自定義"Value" 值:
C#

if (IsPostBack)
{
    if (RadioButton1.Checked)
    {
        Response.Write(RadioButton1.Attributes["Value"]+"</br>");
    }else if (RadioButton2.Checked)
    {
        Response.Write(RadioButton2.Attributes["Value"] + "</br>");
    }else if (RadioButton3.Checked) 
    {
        Response.Write(RadioButton3.Attributes["Value"] + "</br>");
    }
}
[RadioButtonList] 選項按鈕列表

選單按鈕列表可以更方便的直接建立一個群組,而不必再透過 GroupName

aspx

<asp:RadioButtonList runat="server" ID="RadioButtonList1">
    <asp:ListItem>my radiolist1</asp:ListItem>
    <asp:ListItem>my radiolist2</asp:ListItem>
    <asp:ListItem>my radiolist3</asp:ListItem>
</asp:RadioButtonList>

取得方式
C#

RadioButtonList1.SelectedItem.Text

也可以改用取得 Value 的方式
aspx

<asp:RadioButtonList runat="server" ID="RadioButtonList1">
    <asp:ListItem  Value="r1">my radiolist1</asp:ListItem>
    <asp:ListItem  Value="r2">my radiolist2</asp:ListItem>
    <asp:ListItem  Value="r3">my radiolist3</asp:ListItem>
</asp:RadioButtonList>

在 code behind 取得 Vaule
C#

Response.Write(RadioButtonList1.SelectedValue
[Panel] 容器

Panel 是一個容器 - 功能區塊的概念

我們可以在這區塊中,進行動態新增元件

首先先定義好區塊

aspx

<asp:Panel runat="server" ID="my_panel">
    This is my panel<br />
</asp:Panel>

<asp:Button ID="Button1" runat="server" Text="Enter..." style="width:85px" onclick="Button1_Click" />

接著在 code behind 建立動態加入控制項
C#

protected void Button1_Click(object sender, EventArgs e)
{
    AddPanelControls();
}

protected void AddPanelControls()
{
    TextBox t1 = new TextBox();
    t1.Text = "Add first textbox";
    TextBox t2 = new TextBox();
    t2.Text = "Add second textbox";
    my_panel.Controls.Add(t1);
    my_panel.Controls.Add(t2);
}
[PlaceHolder] 容器

PlaceHolder 與 Panel 一樣都具有容器的功能

PlaceHolder 但是主要皆著重在動態新增控制項,不提供設定樣式及屬性

aspx

 <asp:PlaceHolder runat="server" ID="my_placeholder">
     This is my PlaceHolder<br />
 </asp:PlaceHolder>

<asp:Button ID="Button1" runat="server" Text="Enter..." style="width:85px" onclick="Button1_Click" />

接著在 code behind 建立動態加入控制項
C#

protected void Button1_Click(object sender, EventArgs e)
{
    AddPlaceHolderControls();
}

protected void AddPlaceHolderControls()
{
    TextBox tp1 = new TextBox();
    tp1.Text = "Add AddPlaceHolderControls first textbox";
    TextBox tp2 = new TextBox();
    tp2.Text = "Add AddPlaceHolderControls second textbox";
    my_placeholder.Controls.Add(tp1);
    my_placeholder.Controls.Add(tp2);
}

如果你喜歡我們的文章內容,請在這裡按個讚



ASP.NET C# 判斷 HTTP REQUEST 請求來源 KEY 是否存在

ASP.NET C# 判斷 HTTP REQUEST 請求來源 KEY 是否存在

HTTP 請求來源可以為 POST 或 GET 類型,並且夾帶 key 與 value

常用到會先檢查是否存在 key

若不存在則返回錯誤,或者對應處理,例如表單欄位未填

若存在key才進行正常程序,例如儲存表單

有幾種方式可以用來檢查

這裡以取得GET的參數來說明如何檢查 Key 是否存在


如果你喜歡我們的文章內容,請在這裡按個讚



ASP.NET C# 判斷HTTP來源類型,取得HTTP 請求(GET, POST)參數

ASP.NET C# 判斷HTTP來源類型,取得HTTP 請求(GET, POST)參數

透過 C# for ASP.NET 的 Response 可以取得HTTP請求相關訊息

取得HTTP Request 類型

可以透過下面兩種方式取得HTTP Request 類型 (GET、POST...)

Request.RequestType
HttpContext.Current.Request.HttpMethod

取得 GET 參數

透過 Request.QueryString["Key"] 可以取得 GET 參數

取得 POST 參數

透過 Request.Form["Key"] 可以取得 POST 參數

取得HTTP 參數

如果不區分 GET POST ,透過 Request["Key"] 只要key相符就取得

若GET POST 同時有相同的key,就會以GET為主

判斷是否為頁面 POST_BACK

當表單在同頁送出POST,就可以用 Page.IsPostBack 來偵測

範例

下方示範 HTTP 請求:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        // 取得HTTP Request 類型
        Response.Write(HttpContext.Current.Request.HttpMethod + "<BR>");//GET, POST...
        // 取得HTTP Request 類型
        Response.Write(Request.RequestType + "<BR>");//GET, POST...

        if (Request.RequestType == "GET")
        {
            //取得 GET 值
            Response.Write(Request.QueryString["TextBox1"] + "<BR>");
        }
        if (Request.RequestType == "POST")
        {
            //取得 POST 值 - 欄位名稱 TextBox1
            Response.Write(Request.Form["TextBox1"] + "<BR>");
        }

        // 不管GET或POST,都會取得值 (以 GET 值為優先)
        Response.Write("Always show:" + Request["TextBox1"] + "<BR>");

        if (Page.IsPostBack)
        {
            Response.Write("PAGE POST BACK<br>");
        }

    }
}

如果你喜歡我們的文章內容,請在這裡按個讚



ASP.NET C# JSON 格式轉換

ASP.NET JSON 格式轉換

在這裡,選擇透過 (Json.NET)[https://www.newtonsoft.com/json/help/html/Introduction.htm] 這款套件來協助處理物件轉換為JSON格式


如果你喜歡我們的文章內容,請在這裡按個讚



ASP.NET C# - 如何取得來源 IP

取得 Clinet 來源IP的方式如下:


如果你喜歡我們的文章內容,請在這裡按個讚



ASP.NET C# 生命週期

ASP.NET 生命週期

ASP.NET 可以動態的生成頁面,而運作的架構生命週期主要可以分為:

  • 應用程式生命週期(Application Life Cycle)
  • 頁面生命週期(Page Life Cycle)

[應用程式生命週期(Application Life Cycle)]

  1. 當使用者透過瀏覽器訪問時,瀏覽器會先向web server傳送請求,
  2. 在 server 端在一開始都會先執行:
  3. 建立 ApplicationManager Class 物件
  4. 建立 HostingEnvironment Class 物件,提供請求來源有關的訊息。
  5. 建立應用程式初始成員

  6. 建立 Response 物件,包括 HttpContext,HttpRequest,HttpResponse 都會在這時被初始化建立

  7. HttpApplication 物件被實體化,並且被指派給 request

  8. Request 被 HttpApplication class 處理,並根據處理的結果呼叫不同事件

[頁面生命週期(Page Life Cycle)]

當頁面被請求,會先被載入 server 的記憶體中進行處理,接著再傳送回瀏覽器,再將項目從記憶體中卸載

整個頁面生命週期主要有

初始化 (Initialization)
實體化頁面控制 (Instantiation of the controls on the page)
階段修復及維護
執行事件處理程式
顯示頁面

下方列出 ASP.NET 頁面不同階段

  • 網頁要求(Page Request)

  • 開始進入生命週期(Starting of page life cycle)
    在這階段,會檢查來源物件,如果是舊的請求或者是表單 post back,就會將 IsPostBack屬性設定為true

  • 頁面初始化(Page Initialization)
    在這階段,會指派一個 UNID 給頁面的控制屬性給新的請求,
    若是舊的請求或 post back,則會沿用之前的控制屬性,並且針對 post back 相關處理進行調整

  • 載入頁面(Page Load)
    控制屬性會根據view states 以及 control state 值進行設定

  • 驗證(Validation)
    如果請求有呼叫 validation 方法,validation 控制就會被啟用及執行
    IsValid 屬性會被設定為true

  • PostBack事件處理(PostBack Event Handling)
    如果請求來源屬於 postback(old request),就會執行處理

  • 渲染頁面(Render)
    在這階段,view state 以及 controls 都已經被執行及儲存,
    接著,主要的輸出頁面流程都會開始在 OutputStream Class 裡處理

  • 卸載(Unload)
    渲染過的頁面會被傳送到client端。
    頁面相關請求及反應,接著就會被卸載清除。

[整個頁面生命週期事件]

每一個頁面的生命週期,都會觸發一些事件

這些事件通常都是函式或者次路由的形式,可以直接透過 Onclick 或者 handle 來觸發。

下方是常用的一些頁面生命週期事件:

*PreInit * - PreInit 是頁面生命週期第一個事件,會檢查IsPostBack以及是哪個頁面 postback。 可以動態設定 themes 屬性。可以透過 OnPreInit方法或建立一個 Page_PreInit 來處理對應的事件。

Init - Init event initializes the control property and the control tree is built. This event can be handled by overloading the OnInit method or creating a Page_Init handler.

InitComplete - 可以用來追蹤 view state。

LoadViewState - 可以將 view state 資訊載入controls。

LoadPostData - 在這個階段,所有 input 欄位的內容都會被form標籤所定義及處理。

PreLoad - PreLoad 會在post back data載入controls之前啟用,這個事件可以用來overloading OnPreLoad方法,或者可以建立一個 Page_PreLoad。

Load - Load 事件會在頁面一開始準備載入之前被呼叫,呼叫之後會遞迴的處理每個子控制項目,執行相同動作。可以透過 overloading OnLoad 方法,或者建立一個 Page_Load handler。

LoadComplete - Loading 程序完成時,會呼叫LoadCompolet,這個事件可以透過 overloading OnLoadComplete方法或者建立一個Page_LoadComplete handler。

PreRender - 這個事件只有在 output rendered 時才會觸發,透過這個事件,頁面及controls可以在output rendered之前執行任何更新。

PreRenderComplete - 當 PreRender完成時候被執行。

SaveStateComplete - 當頁面control階段被儲存時,view也被儲存,HTML markup建立。這個階段能夠用來 overriding Render 方法或者建立一個 Page_Render handler。

UnLoad - 頁面生命週期的最後一個階段,可以在這裡關閉一些連線或者清除不會用到的資料。


如果你喜歡我們的文章內容,請在這裡按個讚



ASP.NET 基礎入門 Hello World

ASP.NET 基礎入門 Hello World

在開始前要先建立專案及項目

新增專案

檔案>新增>專案

ASP.NET 空網站

加入新項目

在專案目錄最外層,右鍵>加入>加入新項目


Web表單

簡單練習輸出文字

Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<% 
    string mytxt = "Hello World"; 
    HelloWorldLabel.Text = "Hello World2";
%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <div>
        輸出文字:
        <% Response.Write(mytxt); %> 
        ,也可以這樣寫:
        <%=mytxt %>
    </div>
    <div>
         <asp:Label runat="server" id="HelloWorldLabel"></asp:Label>
    </div>
</body>
</html>

每一個 aspx 檔案都會有對應的 code behind

點選目錄中的 Default.aspx.cs
或者按F7 就能切換

預設這裡面都僅會有基本框架

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        
    }
}

https://www.tutorialspoint.com/asp.net/index.htm


如果你喜歡我們的文章內容,請在這裡按個讚



股票市場 - 選擇權重點介紹

選擇權市場

金管會主管機關 進行監督
期交所 推出投標商品
交易商 負責中介
投資人 負責購買交易

台指選擇權

台指選擇權屬於歐式選擇權

雙方要等到到期日才能履約

價格

買進契約
台指選擇權每 1 點 = 50 元

交易時間

營業日 8:45-13:45

契約類型

市場上可以購買的契約分別有:

近月契約 - 最近這3個月

季月契約 - 最近這2個季

CALL

買進權力
付權利金,就能在到期日依照履約價買進
買方有權履約或毀約

PUT

賣出權力
付權利金,在到期日依照履約價賣出
賣方有權履約或毀約

履約價

當購買了選擇權,依照時間過去,選擇權契約是否賺錢,或虧錢
一般說法可用,價內、價平、價外 來表示

價內

買權 - 一開始購買的履約價低於現市價
賣權 - 一開始購買的履約價高於現市價

價平

買賣權等於現市價

價外

買權 - 一開始購買的履約價高於現市價
賣權 - 一開始購買的履約價低於現市價

權利金

通常買進選擇權,會以XX點權利金買進履約價 XXXX點的Call
通常賣出選擇權,會以XX點權利金賣出履約價 XXXX點的PUT

權利金 例如 150 點

若不履約,就會賠掉 150點 * 50元= 7500元

繼續>> 股票市場 - 選擇權重點介紹 (2)


如果你喜歡我們的文章內容,請在這裡按個讚