I have this resolved under assistance of ET Support engineer.
The following are the steps it finally works, presenting using FuelSDK:
Step 1: Create Subscriber
var client = new ET_Client();
var sub = new ET_Subscriber();
sub.AuthStub = client;
sub.EmailAddress = request.ToEmailAddress;
sub.Attributes = new FuelSDK.ET_ProfileAttribute[]
{ new ET_ProfileAttribute() { Name = "First Name", Value = "ExactTarget Example" } };
PostReturn postResponse = sub.Post();
Step 2: Place the newly created subscriber to the list that binds to the trigger send
client.AddSubscribersToList(request.ToEmailAddress, new List<int>(subList));
Step 3: Send Trigger Email(Trigger Send action will add data extension for you)
var ts = new ET_TriggeredSend();
ts.AuthStub = client;
ts.Subscribers = new ET_Subscriber[] { new ET_Subscriber() { EmailAddress = request.ToEmailAddress, SubscriberKey = request.ToEmailAddress,
Attributes = new List<FuelSDK.Attribute>(){
new FuelSDK.Attribute(){Name = "FromCustomerID", Value = Convert.ToString(request.OriginatorCustomerID)},
new FuelSDK.Attribute(){Name = "FromName", Value = request.OriginatorName},
new FuelSDK.Attribute(){Name = "TransferOutQuantity", Value = Convert.ToString(request.Quantity)},
new FuelSDK.Attribute(){Name = "ToCustomerID", Value = Convert.ToString(request.ReceiverCustomerID)},
new FuelSDK.Attribute(){Name = "ToName", Value = request.ReceiverName},
new FuelSDK.Attribute(){Name = "EventName", Value = request.EventName},
new FuelSDK.Attribute(){Name = "TTOPrimaryKey", Value = guid},
new FuelSDK.Attribute(){Name = "SubscriberKey", Value = request.ToEmailAddress},
new FuelSDK.Attribute(){Name = "EmailAddress", Value = request.ToEmailAddress},
}.ToArray()}};
ts.SendSourceDataExtension = new DataExtension() { CustomerKey = DataExtensionKey.TTOriginator.ToString() };
ts.CustomerKey = TriggeredSendKey.TicketTransferOriginator.ToString();
SendReturn sendResponse_TS = ts.Send();
In Step 3, assign the value of the parameters to Attributes list. this attribute list will add to data extension along with the trigger sending.